第三部分:使用XlsxWriter创建Excel工作簿并写入数据
现在我们已经掌握了如何使用Pandas读取和操作Excel文件中的数据,接下来我们将学习将数据写入Excel文件中的步骤。为此,我们将使用XlsxWriter模块来创建和写入Excel工作簿。
- 安装XlsxWriter模块
在开始之前,我们需要先安装XlsxWriter模块。可以使用以下命令安装:
$ pip install XlsxWriter
- 创建一个Excel工作簿
创建一个Excel工作簿的第一步是导入XlsxWriter模块并使用Workbook()
函数创建一个文件。
import xlsxwriter
# 创建一个workbook(工作簿)对象
workbook = xlsxwriter.Workbook('example.xlsx')
以上代码创建了一个名为“example.xlsx”的空Excel文件。该文件将被用来存储我们将在下一步中写入的数据。
- 创建工作表
要向Excel文件中添加工作表,请使用add_worksheet()
方法。以下代码添加了一个名为“Sheet1”的工作表:
# 创建一个worksheet(工作表)对象
worksheet = workbook.add_worksheet('Sheet1')
- 将数据写入工作表中
要将数据写入工作表中,可以使用write()
方法。以下是将字符串和数字写入单元格的示例:
# 将字符串写入单元格(第一行第一列)
worksheet.write(0, 0, 'Hello')
# 将数字写入单元格(第一行第二列)
worksheet.write(0, 1, 123)
# 将一个列表写入多个单元格(第二行第一列到第二行第三列)
data = ['foo', 'bar', 'baz']
worksheet.write_row(1, 0, data)
- 格式化单元格
XlsxWriter还提供了许多选项来格式化单元格,例如设置单元格的字体、颜色和边框等。以下是一个设置单元格格式的示例:
# 创建一个格式对象
bold = workbook.add_format({'bold': True})
# 将标题写入单元格(第一行第一列)
worksheet.write(0, 0, 'Title', bold)
# 创建一个带边框的格式
border = workbook.add_format({'border': 1})
# 将数据写入一行单元格中(第二行第一列到第二行第三列)
data = ['foo', 'bar', 'baz']
worksheet.write_row(1, 0, data, border)
以上代码将在第一行第一列处设置一个加粗的标题,并在第二行第一列到第二行第三列之间创建一个具有边框的单元格。
- 保存Excel文件
要保存Excel文件,请使用close()
方法。以下是完整代码示例:
import pandas as pd
import xlsxwriter
# 创建一个workbook(工作簿)对象
workbook = xlsxwriter.Workbook('example.xlsx')
# 创建一个worksheet(工作表)对象
worksheet = workbook.add_worksheet('Sheet1')
# 读取数据
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
# 将数据写入工作表中
worksheet.write(0, 0, 'Hello')
worksheet.write(0, 1, 123)
data = ['foo', 'bar', 'baz']
worksheet.write_row(1, 0, data)
# 设置单元格格式
bold = workbook.add_format({'bold': True})
worksheet.write(0, 0, 'Title', bold)
border = workbook.add_format({'border': 1})
worksheet.write_row(1, 0, data, border)
# 保存Excel文件
workbook.close()
通过学习本文章,相信您已经对Python、Pandas和XlsxWriter之间的组合工作有了深刻的了解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python与Pandas和XlsxWriter组合工作 – 3 - Python技术站