我有大约 20++ xlsx 文件,每个 xlsx 文件中可能包含不同数量的工作表。但谢天谢地,所有列都是所有工作表和所有 xlsx 文件中的一部分。通过参考这里“,我有了一些想法。我一直在尝试几种方法将所有 excel 文件(所有工作表)导入并附加到单个数据框(大约 400 万行记录)中。
注意:我也在这里检查过“,但它只包括文件级别、我的构成文件和工作表级别。
我试过下面的代码
# import all necessary package
import pandas as pd
from pathlib import Path
import glob
import sys
# set source path
source_dataset_path = "C:/Users/aaa/Desktop/Sample_dataset/"
source_dataset_list = glob.iglob(source_dataset_path + "Sales transaction *")
for file in source_dataset_list:
#xls = pd.ExcelFile(source_dataset_list[i])
sys.stdout.write(str(file))
sys.stdout.flush()
xls = pd.ExcelFile(file)
out_df = pd.DataFrame() ## create empty output dataframe
for sheet in xls.sheet_names:
sys.stdout.write(str(sheet))
sys.stdout.flush() ## # View the excel files sheet names
#df = pd.read_excel(source_dataset_list[i], sheet_name=sheet)
df = pd.read_excel(file, sheetname=sheet)
out_df = out_df.append(df) ## This will append rows of one dataframe to another(just like your expected output)
问题:
我的方法就像首先读取每个 excel 文件并在其中获取工作表列表,然后加载工作表并附加所有工作表。循环似乎不是很有效,特别是当每个追加的数据大小都增加时。
有没有其他有效的方法可以从多个 excel 文件中导入和附加所有工作表?
慕慕森
烙印99
肥皂起泡泡
相关分类