我有一个Excel文件,其中A1、A2、A3为空,但A4:A53包含列名。
在R中读取这些数据时,A1、A2、A3的列名将为"X_1,X_2,X_3"。但是,在使用pandas.read_excel时,它会简单地跳过前三列,从而忽略它们。问题在于每个文件中的列数都是动态的,因此我无法解析列范围,也不能编辑文件并为A1、A2、A3添加"虚拟名称"。
我有一个Excel文件,其中A1、A2、A3为空,但A4:A53包含列名。
在R中读取这些数据时,A1、A2、A3的列名将为"X_1,X_2,X_3"。但是,在使用pandas.read_excel时,它会简单地跳过前三列,从而忽略它们。问题在于每个文件中的列数都是动态的,因此我无法解析列范围,也不能编辑文件并为A1、A2、A3添加"虚拟名称"。
Use parameter skip_blank_lines=False, like so:
pd.read_excel('your_excel.xlsx', header=None, skip_blank_lines=False)
我意识到这是一个旧的线程,但是我通过指定列名并命名最终的空列来解决了它,而不是导入没有名称然后不得不处理带有名称的行(还使用了 use_cols)。请参见下文:
use_cols = 'A:L'
column_names = ['Col Name1', 'Col Name 2', 'Empty Col']
df = pd.read_excel(self._input_path, usecols=use_cols, names=column_names)
header=None
传递给pandas的read_excel()
函数,手动将缺失值插入到第一行(现在它将包含列名),然后将该行分配给df.columns
并在之后删除它。这不是最优雅的方式,但我不知道有没有内置的解决方案来解决你的问题。fillna()
进行混淆,因为这似乎是某种自动化过程。