You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python拆分超大CSV转xlsx 解决单工作表行数超限问题

问题原因

xlsx格式单工作表最大支持1048576行、16384列,你当前待转换的CSV共2006894条数据行(不含表头),直接全量写入单个xlsx文件必然触发超限报错。

拆分实现代码

按照需求拆分:第一个文件保留原CSV表头+前1003447条数据,第二个文件保留原CSV表头+剩余1003447条数据。不需要一次性把整个446MB的CSV全加载到内存,按行偏移读取拆分即可,代码如下:

import pandas as pd

# 配置路径和单文件最大数据行数
csv_file = r'D:\Назар\Бізнес\Реалізація\External_trade_data_01.2021-12.2021_UK.csv'
split_row_count = 1003447

# 写入第一个文件:表头 + 前1003447条数据
df1 = pd.read_csv(csv_file, nrows=split_row_count)
df1.to_excel(r'D:\Назар\Бізнес\Реалізація\test_part1.xlsx', index=False, header=True)

# 写入第二个文件:保留表头,跳过已写入的前1003447条数据,读取剩余内容
# skiprows从索引1开始计数,避免跳过第0行的表头
df2 = pd.read_csv(csv_file, skiprows=range(1, split_row_count + 1))
df2.to_excel(r'D:\Назар\Бізнес\Реалізація\test_part2.xlsx', index=False, header=True)
注意事项
  • 拆分后的两个文件单sheet数据量均为1003447条数据+1行表头,总计1003448行,远低于xlsx单sheet行数上限,不会再触发之前的超限报错
  • 按行偏移读取的方式比全量读取整个CSV的内存占用低很多,适配446MB的大文件处理场景
  • 如果后续CSV行数进一步增加,可以按照同样逻辑调整split_row_count参数,拆分为更多xlsx文件即可

内容的提问来源于stack exchange,提问作者Nazarii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:51:16