为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫 - 读取文本文件

熊猫 - 读取文本文件

倚天杖 2022-09-06 15:44:17
我有一个文本文件,如下所示:************************************************************************************************ English Premier Division - Saturday 25th May 2002************************************************************************************************================================================================================================ 2001/2 Assists================================================================================================Pos   Player                     Club                       Apps     Asts-------------------------------------------------------------------------1st   David Beckham              Man Utd                    29       15     2nd   Dean Gordon                Middlesbrough              30 (1)   11     3rd   John Collins               Fulham                     32       11     4th   Ryan Giggs                 Man Utd                    32       11     5th   Kieron Dyer                Newcastle                  33       10     6th   Sean Davis                 Fulham                     23 (1)   10     7th   Damien Duff                Blackburn                  30 (3)   10     8th   Alan Smith                 Leeds                      23 (6)   9      9th   Jesper Grønkjær            Chelsea                    34       9      我试图把它读成一个大熊猫数据帧,就像这样:df = pd.read_table('assist1.txt',                       sep='\s+',                       skiprows=6,                       header=0,)此代码引发异常 - pandas.errors.ParserError: 标记数据时出错。C 错误:预期第 31 行中有 7 个字段,看到 8 个字段。我想这是因为玩家的名字和姓氏之间的空格(应该是“玩家”列的值)。有没有办法做到这一点?
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

另一种方法是将分隔符指定为多个空格,并将跳过列为行列表。我试过这个,它给了我你预期的输出。您可以编写简单的脚本来查找要跳过的行以及要考虑的行。

df = pd.read_table('assist1.txt', sep='\s\s+', skiprows=[0,1,2,3,4,5,6,7,8,10], header=0,engine='python')



查看完整回答
反对 回复 2022-09-06
?
喵喔喔

TA贡献1735条经验 获得超5个赞

您使用空格作为分隔符,但这是固定长度分隔的,而不是空格分隔的。你应该谷歌固定长度解析,例如 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_fwf.html


查看完整回答
反对 回复 2022-09-06
  • 2 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信