使用 Jupyter notebook 将具有多个工作表的 Excel 文件转换为多个 csv 文件

Posted

技术标签:

【中文标题】使用 Jupyter notebook 将具有多个工作表的 Excel 文件转换为多个 csv 文件【英文标题】:Converting Excel file with multiple sheets into multiple csv files using Jupyter notebook 【发布时间】:2020-11-27 04:03:49 【问题描述】:

我有一个包含多张工作表的 excel 文件。我想将这些工作表转换为单独的 CSV 文件。

我尝试了这段代码,得到了一份有序的工作表字典。现在我需要一步将它们保存为 CSV 文件,而不必在单独的步骤中手动保存每个文件

xls = pd.ExcelFile('file.xlsx')
sheets = 
for sheet_name in xls.sheet_names:
    sheets[sheet_name] = xls.parse(sheet_name)

【问题讨论】:

【参考方案1】:

您可以使用to_csv 将数据框保存为 csv 文件:

# I prefer reading excel with pd.read_excel
# passing `sheet_name=None` returns a dictionary 
# with the form sheet_name: dataframe
data = pd.read_excel('file.xlsx', sheet_name=None)

# loop through the dictionary and save csv
for sheet_name, df in data.items():
    df.to_csv(f'sheet_name.csv')

【讨论】:

f beforesheet_name 代表什么? @Michael that f-string 在 Python 3 中。 不熟悉pandas的朋友,pd来自import pandas as pd

以上是关于使用 Jupyter notebook 将具有多个工作表的 Excel 文件转换为多个 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jupyter Notebook 绘制 rosbag 文件中的数据

Jupyter Lab 在错误的路径中打开,与 Jupyter Notebook 不同,两者在“jupyter_notebook_config.py”中具有相同的映射。

一日一技:如何从多个Jupyter Notebook中找到需要代码段

为多个 Jupyter Notebook pod 设置不同的资源

Jupyter Notebook配置多个kernel

从 S3 将 CSV 数据加载到 Jupyter Notebook