如何在Pandas中设置字体和字号保存数据?
解决方案
要给Excel文件设置统一的Arial 12号字体,pandas的to_excel方法没法直接实现,得借助openpyxl或者xlsxwriter这类引擎来操作样式。另外,utf-8编码对.xlsx格式无效,因为它本身是二进制文件格式,不需要设置这个参数。
方法一:使用xlsxwriter引擎
import pandas as pd df_conversas = pd.DataFrame({'Nomes': nomes_conversas}) # 创建Excel写入对象,指定xlsxwriter引擎 writer = pd.ExcelWriter('conversas.xlsx', engine='xlsxwriter') df_conversas.to_excel(writer, sheet_name='Sheet1', index=False) # 获取工作簿和工作表实例 workbook = writer.book worksheet = writer.sheets['Sheet1'] # 创建Arial 12号字体格式 font_format = workbook.add_format({'font_name': 'Arial', 'font_size': 12}) # 设置工作表默认行格式 worksheet.set_default_row(None, None, font_format) # 单独设置表头格式(如果需要和内容一致) header_format = workbook.add_format({'font_name': 'Arial', 'font_size': 12, 'bold': True}) for col_num, header in enumerate(df_conversas.columns): worksheet.write(0, col_num, header, header_format) # 保存文件 writer.close()
方法二:使用openpyxl引擎
import pandas as pd from openpyxl import load_workbook from openpyxl.styles import Font df_conversas = pd.DataFrame({'Nomes': nomes_conversas}) # 先导出基础Excel文件 df_conversas.to_excel('conversas.xlsx', engine='openpyxl', index=False) # 加载文件并获取工作表 wb = load_workbook('conversas.xlsx') ws = wb.active # 创建Arial 12号字体对象 arial_12 = Font(name='Arial', size=12) # 遍历所有单元格设置字体 for row in ws.iter_rows(): for cell in row: cell.font = arial_12 # 保存修改后的文件 wb.save('conversas.xlsx')
使用前需先安装依赖包:
pip install xlsxwriter openpyxl
内容的提问来源于stack exchange,提问作者Felipe
相关产品推荐
相关产品推荐

