2014-12-18 90 views
1

我有简单的CSV文件看起来像这样:Python的大熊猫read_csv问题

inches,12,3,56,80,45 
tempF,60,45,32,80,52 

我在CSV使用此命令读取:

import pandas as pd 
pd_obj = pd.read_csv('test_csv.csv', header=None, index_col=0) 

导致这种结构:

  1 2 3 4 5 
0 
inches 12 3 56 80 45 
tempF 60 45 32 80 52 

但我想这个(无名指数栏):

  0 1 2 3 4 
inches 12 3 56 80 45 
tempF 60 45 32 80 52 

编辑:由于@joris指出可以在结果DataFrame上运行其他方法来实现所需的结构。我的问题具体是关于这个结构是否可以通过read_csv的论点来实现。

+1

0是索引的名字,你可以做'pd_obj.index.name = None'删除它。 – joris

+0

这导致我的列标题从1开始,而不是0.有没有办法没有索引列读取CSV时命名? – Flash

+1

索引列自动命名为数字0 - >列数 - 1,因为您指定不从CSV('header = None')读取名称,并且因为列0被用作索引,所以实际列的起始位置为1.你总是可以执行'pd_obj.columns = pd_obj.columns - 1' – joris

回答

3

从函数的文档:

names : array-like 
List of column names to use. If file contains no header row, then you 
should explicitly pass header=None 

如此,显然:

pd_obj = pd.read_csv('test_csv.csv', header=None, index_col=0, names=range(5)) 
+1

谢谢,我已经读过,但没有得出这个结论 – Flash