pandas写入多组数据到excel不同的sheet

Posted wujf-myblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas写入多组数据到excel不同的sheet相关的知识,希望对你有一定的参考价值。

今天朋友问了我个需求,就是如何将多个分析后的结果,也就是多个DataFrame,写入同一个excel工作簿中呢?

之前我只写过放在一个sheet中,但是怎么放在多个sheet中呢?下面我在本地windows电脑中写的。希望对广大程序员有所帮助。

 

# -*- coding: utf-8 -*-
# @Time    : 2019/6/21 14:36
# @Author  : wujf
# @Email   : [email protected]
# @File    : excel.py
# @Software: PyCharm

import pandas as pd
import os
import time

path = "E:\\Python\\pandas_def\\excel"
if not os.path.exists(path):
     os.mkdir(path)

#工作表名字
date_rand =time.strftime("%Y-%m-%d",time.localtime())
file_name = path+‘\\%s.xlsx‘%date_rand
writer = pd.ExcelWriter(file_name)

data1 = [1,2,3,4]
data2 = [5,6,7,8]

# df1 = pd.DataFrame([[15,100,167],[18,120,178]],columns=[‘id‘,‘age‘,‘subject‘],index=[1,2]) #columns和inex参数可要可不要
# df2 = pd.DataFrame([[24,134,175],[35,140,180]],index=[3,4])

‘‘‘或者‘‘‘
df1 = pd.DataFrame(‘name‘:data1)   #里面的data数据既可以是列表,也可以是字典
df2 = pd.DataFrame(‘name‘:data2)

#写入缓存
df1.to_excel(writer,‘df1‘)
df2.to_excel(writer,‘df2‘)

#将缓存写入工作表
writer.save()

  需要注意的是,期间遇到df1被df2覆盖的问题,这里我给出的解决办法是 ExcelWriter 这个方法。

拓展:

df2 = df1.copy 可以复制表格。

以上代码亲测通过,有不懂的可以下面留言问我,或者1028540310 Q我 ,大家一起进步!

 技术图片

技术图片

 

 

拓展:

 

‘‘‘将多个表格合并在一个sheet中‘‘‘

import pandas as pd
writer2 = pd.ExcelWriter(‘ceshi.xlsx‘)

data1 = [1,2,3,4]
data2 = [5,6,7,8]

df1 = pd.DataFrame(‘name‘:data1)
df2 = pd.DataFrame(‘name‘:data2)

df1.to_excel(writer2)
df2.to_excel(writer2,startcol=5,startrow=10)   #表示第10行 第5列

writer2.save()

  

技术图片

 

以上是关于pandas写入多组数据到excel不同的sheet的主要内容,如果未能解决你的问题,请参考以下文章

关于如何使用pandas将不同的数据写入到同一个Excel的不同Sheet表中

Python:在多张工作表上将 Pandas DataFrame 写入 Excel 的最快方法

pandas格式化输出文本-excel篇

使用 Pandas 使用 for 循环写入 Excel CSV

如何在同一列中写入两个不同变量值的excel/pandas Dataframe

pandas把读取sql的结果写入到excel文件