【发布时间】:2018-07-21 20:55:12
【问题描述】:
完全是新手,这是我的第一个问题,所以对于任何无意的失礼提前道歉。
我有一个 Excel xlsx 格式的大型(ish)数据集,我想将其导入 pandas 数据框。数据具有列标题,但没有标题标签的第一列除外。这是excel表的样子:
我在 Pandas 中使用 read_excel() 来读取数据。我正在使用的代码是:
df = pd.read_excel('Raw_Data.xlsx', sheetname=0, labels=None, header=0, index_col=None)
(我尝试过 index_col = false 或 0,但由于显而易见的原因,它并没有改变任何东西)
列的标题被很好地拾取,但第一列(下图中用红色圈出的)被指定为索引。
我试图从 read_excel 命令中得到的内容如下,索引以红色圈出:
我有其他 Excel 表,我使用 read_excel() 导入到 pandas 中,pandas 自动添加数字增量索引,而不是将其中一列推断为索引。
这些 Excel 工作表都没有在列标题中缺少标签,尽管我不确定这可能是这里的问题。
我知道我可以在导入后使用 reset_index() 命令来获取正确的索引。
想知道是否可以在无需执行 reset_index() 和 read_excel() 命令的情况下完成。即无论如何都可以防止索引被推断或强制熊猫像往常一样添加到索引列中。
提前谢谢你!
【问题讨论】:
-
在我的测试中,导入后的
.reset_index()是你最好的选择。否则我能得到的最接近的是df = pd.read_excel('test.xlsx', usecols=range(1,99))。但这完全忽略了未标记的列,这不是您要查找的内容。 -
谢谢。您是正确的,使用 usecols (1, 99) 似乎省略了第一列。这并不理想,因为该列有我需要的数据。想知道是否可以执行 usecols(0,99) 但标记第 0 列不应用作索引?
-
我不知道,对不起!
标签: python excel pandas data-import