如何使用通用标头解析Pandas ExcelFile表

时间:2015-01-07 03:00:16

标签: python python-2.7 pandas indexing

我有很多带有多个工作表的excel文件,其中第一行数据不是标题而是数据。如何在不指定标题行的情况下解析每个工作表,并且默认值不为0.将第一行作为我的标题是一种痛苦。

如果不这样,将列索引插入第一行数据的最佳方法是什么?

我的代码很简单:

import pandas as pd
path_list #list of paths to .xls files
data_sheets = [] #container for parsed sheets
for file_ in path_list:
    excel_file_obj = pd.ExcelFile(file_)
    for sheet in excel_file_obj:
        data_sheet = excel_file_obj.parse(sheet)
        data_sheets.append(data_sheet)

我不能为我的生活找出如何将列索引放入第一行索引。我基本上想要一个df.reset_index(False)类型的解决方案,但是对于列。这样的事情存在吗?

对于每个数据表,似乎都有一种非常强硬的方法:

first_row = data_sheet.columns
generic_cols = ['col' + str(x) for x in xrange(len(data_sheet.columns))]
data_sheet.index = [x for x in xrange(1, len(data_sheet) + 1)]
data_sheet.columns = generic_cols
for_concat = pd.DataFrame({col : val for col, val in zip(generic_cols, first_row)}, index = [0,])
new_sheet =pd.concat([for_concat, data_sheet])

必须有更好的方法。所有帮助表示赞赏...

0 个答案:

没有答案