![](/img/trans.png)
[英]Pandas.read_csv() with special characters (accents) in column names �
[英]pandas.read_csv moves column names over one
我正在使用位于此处的ALL.zip文件。 我的目标是用它创建一个pandas DataFrame。 但是,如果我跑
data=pd.read_csv(foo.csv)
列名称不匹配。 第一列没有名称,然后第二列标有第一列,最后一列是NaN系列。 所以我试过了
colnames=[list of colnames]
data=pd.read_csv(foo.csv, names=colnames, header=False)
这给了我完全相同的东西,所以我跑了
data=pd.read_csv(foo.csv, names=colnames)
这使得colnames完美排列,但是将csv指定的列名称(csv文档中的第一行)完美地对齐为第一行数据。 所以我跑了
data=data[1:]
这诀窍。
所以我在没有解决实际问题的情况下找到了解决方法。 我查看了read_csv文档并发现它有点压倒性,并且无法找到仅使用pd.read_csv解决此问题的方法。
什么是根本问题(我假设它是用户错误或文件有问题)? 有没有办法用read_csv中的一个命令修复它?
这是csv文件的前两行
cmte_id,cand_id,cand_nm,contbr_nm,contbr_city,contbr_st,contbr_zip,contbr_employer,contbr_occupation,contb_receipt_amt,contb_receipt_dt,receipt_desc,memo_cd,memo_text,form_tp,file_num,tran_id,election_tp
C00458844,"P60006723","Rubio, Marco","HEFFERNAN, MICHAEL","APO","AE","090960009","INFORMATION REQUESTED PER BEST EFFORTS","INFORMATION REQUESTED PER BEST EFFORTS",210,27-JUN-15,"","","","SA17A","1015697","SA17.796904","P2016",
这不是你遇到问题的专栏,而是索引
import pandas as pd
df = pd.read_csv('P00000001-ALL.csv', index_col=False, low_memory=False)
print(df.head(1))
cmte_id cand_id cand_nm contbr_nm contbr_city \
0 C00458844 P60006723 Rubio, Marco HEFFERNAN, MICHAEL APO
contbr_st contbr_zip contbr_employer \
0 AE 090960009 INFORMATION REQUESTED PER BEST EFFORTS
contbr_occupation contb_receipt_amt contb_receipt_dt \
0 INFORMATION REQUESTED PER BEST EFFORTS 210 27-JUN-15
receipt_desc memo_cd memo_text form_tp file_num tran_id election_tp
0 NaN NaN NaN SA17A 1015697 SA17.796904 P2016
low_memory=False
是因为第6列具有混合数据类型。
问题来自文件中的每一行, 除了第一行以逗号(分隔符)结尾。 如果需要将第一个“列名称”视为索引列,Pandas认为那里有一个空列。
尝试
data= pd.read_csv('P00000001-AL.csv',index_col=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.