我有一个从SQL转储中获取的CSV文件,如下所示(前面几行使用来自终端的head file.csv):
??AANAT,AANAT1576,4
AANAT,AANAT1704,1
AAP,AAP-D-12-00691,8
AAP,AAP-D-12-00834,3
当我使用pd.read_csv(' file.csv')命令时,我收到一个错误" ValueError:没有要从文件中解析的列"。
有关如何将CSV文件导入表格并避免错误的任何想法?
解决问题(遵循Ed的评论)
我试过header = None,skiprows = 1以避免?? (从终端使用head命令时出现。)
摘录的文件路径为http://goo.gl/jyYlIK
答案 0 :(得分:11)
因此,您看到的??
字符实际上是不可打印的字符,在使用十六进制编辑器查看原始csv文件后,显示它们实际上是utf-16 little endian \FFEE
字节顺序标记。
所以你需要做的就是将它作为编码类型传递,并且它读得很好:
In [46]:
df = pd.read_csv('otherfile.csv', encoding='utf-16', header=None)
df
Out[46]:
0 1 2
0 AANAT AANAT1576 4
1 AANAT AANAT1704 1
2 AAP AAP-D-12-00691 8
3 AAP AAP-D-12-00834 3
4 AAP AAP-D-13-00215 10
5 AAP AAP-D-13-00270 7
6 AAP AAP-D-13-00435 5
7 AAP AAP-D-13-00498 4
8 AAP AAP-D-13-00530 0
9 AAP AAP-D-13-00747 3