【发布时间】:2019-06-26 12:31:20
【问题描述】:
我正在尝试将 excel 文件读入数据框中,并且我想稍后设置索引,所以我不希望 pandas 使用第 0 列作为索引值。
默认情况下 (index_col=None),它不应该使用第 0 列作为索引,但我发现如果工作表的单元格 A1 中有 no 值,它会。
有什么方法可以覆盖这种行为(我正在加载许多在单元格 A1 中没有价值的工作表)?
当 test1.xlsx 在单元格 A1 中具有值“DATE”时,这将按预期工作:
In [19]: pd.read_excel('test1.xlsx')
Out[19]:
DATE A B C
0 2018-01-01 00:00:00 0.766895 1.142639 0.810603
1 2018-01-01 01:00:00 0.605812 0.890286 0.810603
2 2018-01-01 02:00:00 0.623123 1.053022 0.810603
3 2018-01-01 03:00:00 0.740577 1.505082 0.810603
4 2018-01-01 04:00:00 0.335573 -0.024649 0.810603
但是当工作表在单元格A1中没有值时,它会自动将第0列的值分配给索引:
In [20]: pd.read_excel('test2.xlsx', index_col=None)
Out[20]:
A B C
2018-01-01 00:00:00 0.766895 1.142639 0.810603
2018-01-01 01:00:00 0.605812 0.890286 0.810603
2018-01-01 02:00:00 0.623123 1.053022 0.810603
2018-01-01 03:00:00 0.740577 1.505082 0.810603
2018-01-01 04:00:00 0.335573 -0.024649 0.810603
这不是我想要的。
所需结果:与第一个示例相同(但可能使用“未命名”作为列标签)。
index_col : int,int 列表,默认无。
列(0-indexed)用作DataFrame的行标签。如果没有这样的列,则传递 None。
【问题讨论】:
-
我无法重现此问题。将单元格 A1 留空时,我得到了想要的结果。这是使用熊猫 0.24.0。你用的是什么熊猫版本?
标签: python excel pandas dataframe indexing