导入在大熊猫一个CSV文件导入到数据帧大熊猫
我从SQL转储,看起来像下面的(用头FILE.CSV从终端前几行)取一个CSV文件:导入在大熊猫一个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的评论)
我试图标题=无,skiprows = 1,以避免?? (从终端使用head命令时出现)。
的文件路径提取物http://goo.gl/jyYlIK
所以??
字符,你看到的是实际上非打印字符,使用十六进制编辑器显示,它们实际上是utf-16 little endian\FFEE
在您的原始CSV文件中查找之后,是字节顺序标记。
因此,所有你需要做的是通过这为编码类型,它在精细上写着:
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
我已经实施了你的建议,但是我也得到了同样的错误。 – 2016-07-15 06:37:57
对不起,我不能评论,除非你提供的实际数据,你可以尝试传递不同的编码'utf-8',关键是看前几个字节,看看它是否匹配已知的[字节顺序标记]( https://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding) – EdChum 2016-07-15 08:47:53
那些是''??真的在文本文件?当我导入你的数据导入没有错误,你可以尝试'pd.read_csv('file.csv',header = None)' – EdChum 2014-09-29 10:52:24
谢谢埃德只是阐述了这个问题 - 也许是一个有趣的编码,但不知道如何处理在这种情况下 – user7289 2014-09-29 11:09:39
'??'是否应该在那里,它应该仍然会导入,除非这些'??'是一些奇怪的控制字符。你是否能够发布一个链接到原始CSV文件,目前如果我复制并粘贴你的数据我可以导入它,你应该能够确认这是你的结局,所以可能会出现一些问题,如果你的CSV文件出错 – EdChum 2014-09-29 11:11:50