前言
工作中遇到一个存储数据过大的问题。这个时候,存储的限制出现了,超出范围的数据得不到保存.
解决办法:数据分批次存储到不同sheet.
存储的限制
代码
import pandas as pd
import xlwings as xw
# 打开 Excel 文件
wb = xw.Book(r'example.xlsx')
# 将数据分批写入多个 DataFrame
data = list(range(1, 110)) * 10000 # 假设这是你要写入的数据
# 单批次存储 1048575个数据(标题额外占一行)
batch_size = 1048575
dfs = []
for i in range(0, len(data), batch_size):
df = pd.DataFrame(data[i:i + batch_size], columns=['Data'])
dfs.append(df)
# 将 DataFrame 分别写入到不同的 sheet 中
for i, df in enumerate(dfs):
sheet_name = f'S{i + 1}'
sheet = wb.sheets.add(sheet_name)
sheet.range('A1').value = df