当需要读写xlsx文件时,Python提供了许多选择。在本文中,将演示如何使用pandas和xlsxwriter读写xlsx文件。
安装库
在开始之前,需要安装以下库:
- pandas 用于处理数据和读写xlsx文件。
- xlsxwriter 用于写入xlsx文件。
可以使用以下命令安装:
pip install pandas xlsxwriter
读取xlsx文件
使用以下代码读取xlsx文件:
import pandas as pd
df = pd.read_excel("file.xlsx") # 更改为您的文件名
更改file.xlsx
为文件名和路径。df
是读取的Excel文件中包含的数据作为DataFrame对象。
如果你要读取Excel文件中的特定工作表,使用以下代码:
df = pd.read_excel("file.xlsx", sheet_name="Sheet1") # 更改为您的文件和工作表名
更改file.xlsx
为文件名和路径。Sheet1
是要读取的工作表名称。
写入xlsx文件
使用以下代码将数据写入xlsx文件:
import pandas as pd
data = {'Name': ['Tom', 'Jerry', 'Ben', 'May'], 'Age': [25, 30, 28, 35], 'Country': ['China', 'US', 'UK', 'Japan']}
df = pd.DataFrame(data)
writer = pd.ExcelWriter("output.xlsx") # 更改为您的文件名
df.to_excel(writer, sheet_name='Data', index=False)
writer.save()
writer.close()
data
是生成DataFrame对象的字典。df
是数据结构DataFrame。writer
是Excel写入器。output.xlsx
是输出文件名和路径。Data
是写入的工作表名称。
df.to_excel(writer, sheet_name='Data', index=False)
这一行将数据写入输出文件。
writer.save()
将更改保存到输出文件中。
writer.close()
将文件输出关闭。
使用xlsxwriter进行格式化
默认情况下,使用xlsxwriter
写出的Excel文档相当灵活,但在许多情况下,可能需要对工作表进行格式化。下面是一个示例,在这个示例中将使用xlsxwriter
格式化Excel工作表。
import pandas as pd
import xlsxwriter
data = {'Name': ['Tom', 'Jerry', 'Ben', 'May'], 'Age': [25, 30, 28, 35], 'Country': ['China', 'US', 'UK', 'Japan']}
df = pd.DataFrame(data)
writer = pd.ExcelWriter("output.xlsx", engine='xlsxwriter') # 更改为您的文件名
df.to_excel(writer, sheet_name='Data', index=False)
workbook = writer.book
worksheet = writer.sheets['Data']
# 格式化列
cell_format = workbook.add_format({'align': 'center'})
worksheet.set_column('A:C', 20, cell_format)
# 冻结窗格
worksheet.freeze_panes(1, 0)
# 添加筛选
worksheet.autofilter(0, 0, len(df.index), len(df.columns) - 1)
writer.save()
writer.close()
这个示例读取先前的数据。然后,它在写入文件之前设置格式。最后一个块针对格式的设置。
workbook.add_format({'align': 'center'})
创建一个格式对象,使单元格内容在中心对齐。
worksheet.set_column('A:C', 20, cell_format)
设置列的宽度为20,这个示例中,它使用格式对象将单元格内容设置为中心对齐。
worksheet.freeze_panes(1, 0)
冻结窗格,使列的标题可见。
worksheet.autofilter(0, 0, len(df.index), len(df.columns) - 1)
添加筛选器,使数据在工作表中更容易筛选。
总的来说,这个示例使用xlsxwriter
对一个Excel工作表进行格式化,使数据更好地呈现出来。
以上是使用pandas和xlsxwriter读写xlsx文件的方法示例的完整实例教程。