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

熊猫 - 读取文本文件

熊猫 - 读取文本文件

倚天杖 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 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号