cqwcns 发表于 2021-1-27 12:10

python pandas.to_excel存在问题。

以下代码,实现的是在“demo.xlsx”中追加两个sheet,功能实现。
问题在于追加sheet后,文件打开总会提升“...部分有问题需要修复...”,不知道如何解决。
经测试,直接写入是没有问题的(非追加)。

import pandas as pd
from openpyxl import load_workbook

df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],
                   index=['row 1', 'row 2'],
                   columns=['col 1', 'col 2'])

df2 = pd.DataFrame([['a', 'b'], ['c', 'd']],
                   index=['row 1', 'row 2'],
                   columns=['col 1', 'col 2'])

with pd.ExcelWriter('demo.xlsx', mode='a') as writer:
    df1.to_excel(writer, sheet_name='Sheet_name_1')
    df2.to_excel(writer, sheet_name='Sheet_name_2')


lvcaolhx 发表于 2021-1-27 12:17

grade_excel = pd.ExcelWriter(r'D:\testdata\test01.xlsx')
grade_analysis.to_excel(grade_excel, sheet_name='整体平均', index=None)
grade2.to_excel(grade_excel,sheet_name='各年级情况')
grade_excel.save()
参考这一代码。

fanvalen 发表于 2021-1-27 12:31

pd我不熟,xl是对行和列赋值,然后是save方法不是写文件

cqwcns 发表于 2021-1-27 13:00

lvcaolhx 发表于 2021-1-27 12:17
grade_excel = pd.ExcelWriter(r'D:\testdata\test01.xlsx')
grade_analysis.to_excel(grade_excel, sheet ...

你这个是仅写入,是可以的。

我要的是追加,问题就是追加不行。

荆棘之吻 发表于 2021-1-27 13:39

本帖最后由 荆棘之吻 于 2021-1-27 13:44 编辑

没注意,{:1_908:}看错了....

Rezalt 发表于 2021-1-27 14:13

with pd.ExcelWriter('demo.xlsx', mode='a', engine='openpyxl') as writer:

cqwcns 发表于 2021-1-27 15:05

Rezalt 发表于 2021-1-27 14:13
with pd.ExcelWriter('demo.xlsx', mode='a', engine='openpyxl') as writer:

没用的,加不加engine是一样的。因为现在pd默认xlsx用户openpyxl。

我以上的demo代码是完整的,各位大佬可以自己跑一下看看有没有问题。

Rezalt 发表于 2021-1-27 15:14

cqwcns 发表于 2021-1-27 15:05
没用的,加不加engine是一样的。因为现在pd默认xlsx用户openpyxl。

我以上的demo代码是完整的,各位大 ...

我自己测试的结果是可以的 在原表的基础上添加新的sheet,没有出现报错。关于文件打开有错误不知道是不是软件的问题 看你用的是office 我用的wps

Themorme 发表于 2021-1-27 15:45

本帖最后由 Themorme 于 2021-1-27 15:47 编辑

直接报错了追加模式的问题吗

直接用”w“就没问题

cqwcns 发表于 2021-1-28 09:06

Themorme 发表于 2021-1-27 15:45
直接报错了追加模式的问题吗

直接用”w“就没问题

应该是你的库为装好或版本问题吧。
页: [1] 2
查看完整版本: python pandas.to_excel存在问题。