【发布时间】:2016-08-23 21:51:16
【问题描述】:
Python新手,请温柔。我在多个 Excel 电子表格的两个“中间部分”中有数据,我想将它们隔离到一个 pandas 数据框中。以下是数据截图的链接。 在每个文件中,我的标题在第 4 行,数据在第 5-15 行,B:O 列。然后标题和数据继续第 21 行的标题,第 22-30 行的数据,B:L 列。我想从第二组移动标题和数据并将它们附加到第一组数据的末尾。
此代码捕获第 4 行的标题和 B:O 列中的数据,但捕获标题下的所有行,包括第二个标题和第二组数据。如何移动第二组数据并将其附加到第一组数据之后?
path =r'C:\Users\sarah\Desktop\Original'
allFiles = glob.glob(path + "/*.xls")
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
df = pd.read_excel(file_,sheetname="Data1", parse_cols="B:O",index_col=None, header=3, skip_rows=3 )
list_.append(df)
frame = pd.concat(list_)
【问题讨论】:
-
刚刚意识到我的问题并不全面;现已编辑。
-
第二部分 (B:L) 的最后三列将包含 NaN - 这就是您想要的吗?在这种情况下,您可以使用
skip_rows=[0,1,2,20] -
感谢您的回复!我可以稍后删除 NaN,但我认为您的解决方案并不完全允许我从第二组中移动我的标题和数据并将其附加到第一组?
-
我不太明白。您想在一个 DF 中有两组不同的列名(标题)吗?
-
我添加了我的数据截图;希望这可以使它更清楚。感谢您的耐心等待!
标签: python excel pandas dataframe