有没有办法将 excel 工作簿中的单个工作表导出到使用 pandas 分隔 csv 文件?
Posted
技术标签:
【中文标题】有没有办法将 excel 工作簿中的单个工作表导出到使用 pandas 分隔 csv 文件?【英文标题】:Is there a way to export individual sheets in a excel workbook to separate csv files using pandas? 【发布时间】:2021-03-16 23:23:01 【问题描述】:我的 Excel 工作簿中有 5 张工作表。我想使用 python 库将每张工作表导出到 csv。 This is a sheet showing sales in 2019。我根据它们所代表的年份命名了这些种子,如图所示here。
我已经阅读了使用 pandas 的 excel 电子表格。我使用了 for 循环,因为我有兴趣保存像 the_sheet_name.csv 这样的 csv 文件。这是我在 jupyter notebook 中的代码:
import pandas as pd
df = pd.DataFrame()
myfile = 'sampledata.xlsx’
xl = pd.ExcelFile(myfile)
for sheet in xl.sheet_names:
df_tmp = xl.parse(sheet)
print(df_tmp)
df = df.append(df_tmp, ignore_index=True,sort=False)
csvfile = f'sheet_name.csv'
df.to_csv(csvfile, index=False)
执行代码只会生成一个包含所有其他工作表数据的 csv 文件。我想知道是否有办法自定义我的代码,以便我可以生成单独的表格,例如 sales2011.csv、sales2012.csv 等。
【问题讨论】:
欢迎堆栈溢出。我们要求您提供minimal reproducible example,并在问题的文本中提供代码,而不是图片或链接,显示您根据自己的研究尝试过的内容,以便我们可以更好地帮助您 【参考方案1】:使用sheet_name=None
返回数据帧字典:
dfs = pd.read_excel('file.xlsx', sheet_name=None)
for sheet_name, data in dfs.items():
data.to_csv(f"sheet_name.csv")
【讨论】:
以上是关于有没有办法将 excel 工作簿中的单个工作表导出到使用 pandas 分隔 csv 文件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA 将 MS Access 记录集导出到 Excel 中的多个工作表/选项卡会生成只读文件
在 R 中拆分大型数据框并输出到单个 Excel 工作簿中的单独工作表中
将 Excel 工作簿中的所有图表导出到 windows 文件夹