如何解决熊猫文本文件转换为CSV
尝试仅将.txt文件的某些列输出到.csv
PANDAS文档和this answer使我走了这么远:
import pandas as pd
read_file = pd.read_csv (r'death.txt')
header = ['County','Crude Rate']
read_file.to_csv (r'death.csv',columns=header,index=None)
但是我收到一个错误:
KeyError: "None of [Index(['County','Crude Rate'],dtype='object')] are in the [columns]"
这令人困惑,因为我正在使用的.txt文件是数百行(来自政府数据库)的以下内容:
"Notes" "County" "County Code" Deaths Population Crude Rate
"Autauga County,AL" "01001" 7893 918492 859.3
"Baldwin County,AL" "01003" 30292 3102984 976.2
"Barbour County,AL" "01005" 5197 499262 1040.9
我注意到前三列标题用引号引起来,而后三列则没有。我已经尝试过在列顺序中添加引号(例如““ County”“),但是没有运气。根据错误,我意识到在键入标题和在脚本中如何读取它们之间,列标题之间存在一些差异。
我们将帮助您理解这种差异。
解决方法
您正在使用默认选项读取文件
read_file = pd.read_csv (r'death.txt')
更改为
read_file = pd.read_csv (r'death.txt',sep="\t")
检查
df.columns
Index(['Notes','County','County Code','Deaths','Population','Crude Rate'],dtype='object')
和....
您应该先过滤列,然后保存。
现在,如果您的栏没问题:
read_file[['County','Crude Rate']].to_csv (r'death.csv',index=None)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。