【发布时间】:2020-06-25 18:11:33
【问题描述】:
我发现了关于从同一文件的不同工作表中提取信息的主题,以及类似问题的解决方案,但与我的不完全一样。
我有几个 Excel 工作簿,每个工作簿都包含几张工作表。我想遍历每个工作簿并从工作表名称“3。价格”中提取信息。此表在所有文件中都可用。每个文件中要从该表中提取的信息是两条。第一个始终位于单元格区域 E13:H13 中,第二个位于单元格 F19、I19 和 K19 中。
我想将提取的两条信息彼此相邻放置(对于给定文件),然后将每个文件的提取物堆叠在一个主文件中。另外,合并文件的第一列应该是文件名。
所以是这样的:
到目前为止我已经尝试过,没有运气
from openpyxl import load_workbook
import os
import pandas as pd
directory = os.listdir('C:\\User\\files')
for file in directory:
if os.path.isfile(file):
file_name = file[0:3]
workbook = load_workbook(filename = file)
sheet = workbook['3. Prices']
e13 = sheet['E13'].value
f13 = sheet['F13'].value
g13 = sheet['G13'].value
h13 = sheet['H13'].value
f19 = sheet['F19'].value
i19 = sheet['I19'].value
k19 = sheet['K19'].value
df = df.append(pd.DataFrame({
"File_name":file_name,
"E13":e13, "F13":f13, "G13":g13,"H13":h13,
"F19":f19,"I19":i19,"K19":i19,
}, index=[0]))
【问题讨论】:
-
没有运气请更具体。
-
顺便说一句,使用临时数据结构并在最后创建 DataFrame 总是一个好主意,而不是重复附加或连接。