pandas to_excel如何突破65535的长度限制?

9 篇文章 0 订阅
8 篇文章 0 订阅

问题描述

有时候,我们对数据表做了groupby、set_index设置多级目录后,就会想把DataFrame的格式导出成Excel格式,而非csv格式。因为导出成csv格式,可能多级index的格式就会消失,当你要输出个漂亮的格式给人看的时候,csv显然是不如excel好看的。

不过,excel格式还有个蛋疼的缺点,那就是单个excel文件输出长度65535的限制。假如你的excel文件超长了,你大概会得到以下报错:

~/anaconda3/lib/python3.6/site-packages/xlwt/Worksheet.py in write_merge(self, r1, r2, c1, c2, label, style)
   1111     def write_merge(self, r1, r2, c1, c2, label="", style=Style.default_style):
   1112         assert 0 <= c1 <= c2 <= 255
-> 1113         assert 0 <= r1 <= r2 <= 65535
   1114         self.write(r1, c1, label, style)
   1115         if c2 > c1:

AssertionError: 

 也可能是这样的报错:

ValueError: This sheet is too large! Your sheet size is: ..., ... Max sheet size is: 1048576, 16384

问题解决

很简单 ,在to_excel中加一个参数即可:

df.to_excel('test.xls', engine='openpyxl')

注意engine参数,设置该值为’openpyxl’,即可忽略pandas输出excel的文件长度限制了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
pandas的to_excel方法是用于将数据保存到Excel文件中的方法。在给定的路径中创建一个Excel文件,并将DataFrame的内容写入到文件中的指定工作表中。例如,代码中的第5行使用pandas.ExcelWriter创建了一个ExcelWriter对象,然后第7行使用to_excel方法将csvReader的内容写入到excelWriter对象中的一个工作表中,这样就将数据保存为xlsx格式的文件了。 另外,pandas的to_csv方法是用于将数据保存到CSV文件中的方法。它将DataFrame对象的内容写入到一个以逗号分隔的文本文件中。在代码中,第3行使用to_csv方法将DataFrame对象csvReader的内容保存为csv文件,其中的index=None参数表示不保存索引。接着在第4行使用pd.read_csv方法读取这个csv文件中的内容并赋值给df2。 如果你想了解更多关于pandas的to_excel和to_csv方法的信息,你可以参考引用中提供的链接,该链接中详细介绍了如何使用这两个方法来导入和导出Excel文件和CSV文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [使用 Pandas 的 to_excel() 方法来将多个 csv 文件合并到一个 xlsx 的不同 sheets 内](https://blog.csdn.net/King7117/article/details/101800343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [pandas数据存储读取read_csv(), to_csv(),read_excel(), to_excel()(常用方法,例子丰富)](https://blog.csdn.net/Light2077/article/details/102921032)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_illusion_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值