【发布时间】:2021-04-18 01:02:37
【问题描述】:
我对 python 编程很陌生。我需要将 1000 多个文件合并到一个文件中。每个文件都有 3 张纸,我只需要从 sheet2 获取数据并制作最终的 excel 文件。我面临一个问题,即从 sheet2 上的每个 excel 文件中的特定单元格中选择一个值并创建一个列。 python 正在从第一个文件中选择值并在其上创建一个列
df = pd.DataFrame()
for file in files:
if file.endswith('.xlsm'):
df = pd.read_excel(file, sheet_name=1, header=None)
df['REPORT_NO'] = df.iloc[1][4] #Report Number
df['SUPPLIER'] = df.iloc[2][4] #Supplier
df['REPORT_DATE'] = df.iloc[0][4] #Report Number
df2 = df2.dropna(thresh=15)
df2 = df.append(df, ignore_index=True)
df = df.reset_index()
del df['index']
df2.to_excel('FINAL_FILES.xlsx')
我该如何解决这个问题,以便 python 可以从每个 excel 中获取信息并将信息放在正确的行上。
【问题讨论】:
-
我认为你想要的是 df2 是 gloabl 而 df 不是。不要使用循环执行此操作,而是使用文件 1 和文件 2 执行此操作,然后使用该文件和文件 3 的输出执行此操作。在某处我认为您的范围界定是错误的,或者使用外部 `df = pd.DataFrame ()` 或您创建的列完全填充报告编号、供应商或报告日期。