如何将Pandas数据转换为Excel文件

2,765 阅读2分钟

将数据导出到Excel文件通常是任何用户阅读和解释一组数据的最优先和最方便的方式。通过使用Pandas库,可以用Python代码将你的网络搜刮或其他收集的数据导出到Excel文件中,而且步骤非常简单。

将Pandas DataFrame转换为Excel的步骤

按照下面的步骤来学习如何将Pandas数据框架写入Excel文件。

第一步:安装pandas和openpyxl

由于你需要导出pandas数据框架,显然你必须已经安装了pandas包。如果没有,请运行下面的pip命令,在你的电脑上安装Pandas python包。

pip install openpyxl

现在,为了在Python中使用Excel文件函数,你需要使用下面的pip 命令安装openpyxl模块。

pip install openpyxl

你可以在不提及任何工作表名称的情况下将DataFrame写入Excel文件。下面给出了一步一步的过程。

第2步:制作一个DataFrame

  • 在你的python代码/脚本文件中导入Pandas包。
  • 创建一个你希望输出的数据的数据框架,并用行和列的值来初始化数据框架。

Python代码。

#import pandas package
import pandas as pd

# creating pandas dataframe
df_cars = pd.DataFrame({'Company': ['BMW', 'Mercedes', 'Range Rover', 'Audi'],
     'Model': ['X7', 'GLS', 'Velar', 'Q7'],
     'Power(BHP)': [394.26, 549.81, 201.15, 241.4],
     'Engine': ['3.0 L 6-cylinder', '4.0 L V8', '2.0 L 4-cylinder', '4.0 L V-8']})

第3步:创建一个书写者对象并导出到Excel文件

  • 使用Python的Excel Writer()方法创建一个Excel Writer对象。使用pandas包的ExcelWriter()方法创建一个Excel写作对象。
  • 输入输出的Excel文件的名称,你想把我们的DataFrame写到该文件的扩展名中。(在我们的例子中,我们将输出的excel文件命名为 "转换为excel.xlsx")
# creating excel writer object

writer = pd.ExcelWriter('converted-to-excel.xlsx')

  • 在DataFrame上调用to_excel()函数,将Excel Writer作为参数传递,将你的数据导出到已经给定名称和扩展名的Excel文件。
  • 保存写入器对象以保存Excel文件
# write dataframe to excel

df_cars.to_excel(writer)

# save the excel
writer.save()
print("DataFrame is exported successfully to 'converted-to-excel.xlsx' Excel File.")

替代方法--直接方法

一种直接的方法是直接将数据框架导出到Excel文件,而不使用Excel Writer对象,如下面的代码示例所示。

import pandas as pd
 
# creating pandas dataframe from dictionary of data
df_cars = pd.DataFrame({'Company': ['BMW', 'Mercedes', 'Range Rover', 'Audi'],
     'Model': ['X7', 'GLS', 'Velar', 'Q7'],
     'Power(BHP)': [394.26, 549.81, 201.15, 241.4],
     'Engine': ['3.0 L 6-cylinder', '4.0 L V8', '2.0 L 4-cylinder', '4.0 L V-8']})
 
#Exporting dataframe to Excel file
df_cars.to_excel("converted-to-excel.xlsx")

输出Excel文件

打开Excel文件,你会看到索引、列标签和行数据被写入文件中。

提示

你不仅仅局限于控制excel文件的名称,而是将python数据框架导出到Excel文件中,而且在pandas包中还有很多可供定制的功能。

你可以改变excel文件的工作表的名称

df.to_excel("output.xlsx", sheet_name='Sheet_name_1')

使用Excel writer追加到一个现有的Excel文件中去

pd.ExcelWriter('output.xlsx', mode='a')

其他选项包括渲染引擎、起始行、页眉、索引、合并单元格、编码以及其他许多选项。