gpt4 book ai didi

python - 使用 pandas 和数据透视表更新 excel 文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:17 24 4
gpt4 key购买 nike

我正在尝试使用 Pandas 更新现有的 Excel 文件。

该文件有几张:

  • 包含原始数据的工作表。这是我想从 Pandas 导出的数据
  • 使用包含数据透视表的原始数据的多个工作表。

我使用此代码更新 Excel 文件的第一个工作表,但保留其他工作表:

disq_df = pd.DataFrame(disqualifications)

writer = pd.ExcelWriter(args.output, engine='openpyxl')
if os.path.exists(args.output):
f, ext = os.path.splitext(args.output)
shutil.copyfile(args.output, f + "-saved" + ext)
writer.book = load_workbook(args.output)
writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)

disq_df.to_excel(writer, sheet_name=args.sheet)
writer.save()

这大部分工作正常(仅修改第一个工作表),除了其他工作表上的数据透视表实际上是标准单元格。我在一些纸张上也有图形,但也消失了。

有没有办法让这些工作表完全不被修改?或者这是 openpyxl 的限制?

这是工作表的摘录:https://www.dropbox.com/s/dd3jhiif93knh26/Disqualifications.xlsx?dl=0

相应的disq_df数据框只是从字典构建的:

disq_df = pd.DataFrame({'Année naissance': {0: 2005, 1: 2006},
'Catégorie': {0: 'Poussin', 1: 'Poussin'},
'Club': {0: "CERCLE NAGEURS D'ANTIBES", 1: "CERCLE NAGEURS D'ANTIBES"},
'Compétition': {0: 'Natathlon poussins N° 2', 1: 'Natathlon poussins N° 2'},
'Date': {0: '2016-02-27 15:17:00', 1: '2016-02-27 15:49:50'},
'Disqualification': {0: 'DSQ Vi', 1: 'DSQ Ni'},
'Disqualification (libellé)': {0: 'Disqualifié pour Virage incorrect',
1: 'Disqualifié pour Nage incorrecte'},
'Ligne': {0: 2, 1: 1},
'Nage': {0: 'Nage Libre', 1: 'Dos'},
'Nage (Complet)': {0: '400 Nage Libre Messieurs', 1: '50 Dos Dames'},
'Niveau': {0: 'Compétitions Départementales',
1: 'Compétitions Départementales'},
'Sexe': {0: 'M', 1: 'F'},
'Série': {0: 1, 1: 3}})

最佳答案

Openpyxl 无法轻松处理样式和图形。请参阅Use openpyxl to edit a Excel2007 file (.xlsx) without changing its own styles?

它为您提供了向您展示 how to use win32com 的链接去做吧。

您也可以尝试xlwings用于一些基本操作。不幸的是,我相信它们都要求您实际安装 Excel。

关于python - 使用 pandas 和数据透视表更新 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36115326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com