熊猫read_excel删除空标题下的列

时间:2018-12-04 14:50:58

标签: python-3.x pandas

我有一个Excel文件,其中A1,A2,A3为空,但A4:A53包含列名。

在“ R”中,当您读取数据时,A1,A2,A3的列名称将为“ X_1,X_2,X_3”,但是当使用pandas.read_excel时,它仅跳过了前三列,因此无视他们。问题在于每个文件中的列数是动态的,因此我无法解析列范围,也无法编辑文件并为A1,A2,A3添加“虚拟名称”

2 个答案:

答案 0 :(得分:0)

一种快速的解决方法是将header=None传递给熊猫的read_excel()函数,将缺失的值手动插入第一行(现在将包含列名),然后将该行分配给{ {1}},然后将其删除。这不是最优雅的方法,但我不知道针对您的问题的内置解决方案

编辑:“手动插入”是指弄混df.columns,因为这似乎是某种自动化的过程

答案 1 :(得分:0)

使用参数skip_blank_lines = False,如下所示:

pd.read_excel('your_excel.xlsx', header=None, skip_blank_lines=False)

这个stackoverflow问题(最终)为我指明了正确的方向: Python Pandas read_excel doesn't recognize null cell

pandas.read_excel docs不包含任何相关信息,因为它是关键字之一,但是您可以在以下常规io文档中找到它:http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table