如何在Python中将Excel工作簿中的多个工作表转换为csv文件

Reh*_*han 1 python csv excel pandas

我有一个 Excel 工作簿,其中包含 8 张具有不同字母名称的工作表。我想为每个工作表创建 csv 文件并将其存储在 python 的文件夹中。目前,我可以对工作簿中的一张工作表执行此操作,但我正在努力制定一个工作流程,了解如何转换多张工作表并将它们作为 csv 存储在单个文件夹中。这是我现在的代码:

import pandas as pd
my_csv=r'C:\Users\C\arcgis\New\NO.csv'
data_xls = pd.read_excel(r"C:\Users\C\Desktop\plots_data1.xlsx", "NO", index_col=0)
p=data_xls.to_csv(my_csv, encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

Mar*_*ans 6

如果您想获取所有表格,可以转接sheet_name=None电话read_excel()。然后,这将返回一个字典,其中包含每个工作表名称作为键,值是数据框。这样您就可以迭代每个文件并创建单独的 CSV 文件。

以下示例使用附加工作表名称的基本文件名,例如output_sheet1.csv output_sheet2.csv

import pandas as pd

for sheet_name, df in pd.read_excel(r"input.xlsx", index_col=0, sheet_name=None).items():
    df.to_csv(f'output_{sheet_name}.csv', index=False, encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

它假设您的所有工作表名称都适合用作文件名。