问题描述:

在使用pandas进行数据分析和处理时,需要把相同的DataFrame对象中的数据按顺序先后写入同一个Excel文件中的同一个工作表中,纵向追加。

方法一: 数据量小,把所有DataFrame对象的数据纵向合并到一起,然后再写入Excel文件,参考代码:

import pandas as pd

df = []
for ind in range(10):
	data = pd.DataFrame(^_^) # dataframe数据
	df.append(data)

df = pd.concat(df) # 合并所有数据
df.to_excel(file_name) # 写入excel文件

**方法二:**数据量较大时,DataFrame对象较多,每个DataFrame中的数据量都很大时,可以使用DataFrame对象方法to_excel()的参数startrow来控制每次写入的起始行位置。

import pd

# 创建写入器对象
writer = pd. ExcelWriter(file_name, engine= 'openpyxl')
# 第一个DataFrame对象写入的起始行位置
# 从第2行开始写,第一行保留为空行
start_row = 1
for i in range(500):
	data= pd. DataFrame(data)
	data.to_excel(writer, sheet_ name= 'sheet')
			startrow=start_row, # 指定从哪一行开始写入数据,默认值为0
			header=False,index=False) # 丢弃DataFrame对象的行标签和列标签
	#修改下一次开始写入数据的行位置
	start_row = start_row + data.shape[0]
#保存数据,关闭文件
writer.save()
write.close()
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐