python pandas 读取空格分隔的数据

标签 python database pandas dataframe text

我有一个包含 6 个空格分隔字段的文本文件,如下所示:

702377236289228800 2016-02-24 09:19:17 +03 <Aadil_Siddiqui> #HECRanking Rs71 Bil bdget alloctd 2 HEC is not in gud hands. v can imagne dat on which criteria #HEC is sending studnts abroad on Scholrshp

我想将 6 个字段读入 pandas DF,但将分隔符设置为空格会出现以下错误。

pandas.errors.ParserError:标记数据时出错。 C 错误:第 10 行预计有 31 个字段,但看到了 35

这是代码:

data = pd.read_csv("twitter_file_path.txt", sep=" ", header=None)
data.columns = ["seq", "date", "Hour", "GMT","userID","text"]

最佳答案

您可以读取一列中的所有数据,并使用 | 等文本中不存在的分隔符,然后对于新列使用 Series.str.split带有 n 参数并且没有分隔符,因为空格是默认的 sep:

data = pd.read_csv("twitter_file_path.txt", sep="|", names=['data'])
print (data)
                                                data
0  702377236289228800 2016-02-24 09:19:17 +03 <Aa...

data = data['data'].str.split(n=5, expand=True)
data.columns = ["seq", "date", "Hour", "GMT","userID","text"]
print (data)
                  seq        date      Hour  GMT            userID  \
0  702377236289228800  2016-02-24  09:19:17  +03  <Aadil_Siddiqui>   

                                                text  
0  #HECRanking Rs71 Bil bdget alloctd 2 HEC is no...  

关于python pandas 读取空格分隔的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59113832/

相关文章:

python - 调整图像大小,使其大小与指定的宽高比匹配

Python: Mechanize 随机无限地停止程序

php - Laravel 4 中具有特定角色的用户的额外字段

python-3.x - Pandas 通过正则表达式选择列,并通过 if、else 更改它们的值

python - 如何获取数据框的列总和

python - Python 中重叠窗口的平均值

python - 在项目列表中,保留第一个项目并删除与模式匹配的其余项目(使用 python)

php "count()"函数和数据库

MySQL:追加记录:查找然后追加或仅追加

Python Pandas 从日期创建日期时间索引