天天看点

Pandas如何将多个Dataframe格式数据放入一个Excel或csv中

Pandas如何将多个Dataframe格式数据放入一个Excel或csv中

最近做项目中,需要用到将多个DataFrame存放在一个数据表excel中

下面上教程

  • Frist

首先需要

创建一个空的 Excel 表格。

dff = pd.DataFrame(columns=[“title”, “content”])

dff.to_excel(‘SOM_Result.xlsx’)

Second

我这里是放在一个循环里面,这样可以每次自动存进去,真的方便。当然,你也可以封成一个Function直接调用。

df = pd.DataFrame.from_dict(winner, orient='index')

writer = pd.ExcelWriter('SOM_Result.xlsx', engine='openpyxl')
book = load_workbook(writer.path)
writer.book = book
my_df.to_excel(excel_writer=writer, sheet_name=str(SheetNames[i_c]))

writer.save()
writer.close()      

注意,如若需要用到循环,第一步创建空数据表的代码不能放在循环内,这样每次都会更新空数据表使其覆盖,导致不能将Dataframe依次存进去。

  • Thrid

需要执行将第一步创建的

空Sheet工作簿删除

操作

sheet_name1 = 'Sheet1'
# 载入工作簿
workbook = openpyxl.load_workbook('SOM_Result.xlsx')
#
# 删除目标Sheet
worksheet = workbook[sheet_name1]
workbook.remove(worksheet)

# 保存已做删除处理的工作簿
workbook.save('SOM_Result.xlsx')      

到此就实现了多重Dataframe存放到一个数据表Excel文件中啦。

完整代码

# 添加库
import pandas as pd
import openpyxl
from openpyxl import load_workbook

# 1.创建一个空表格excel
dff = pd.DataFrame(columns=["title", "content"])
dff.to_excel('SOM_Result.xlsx')

# 2.存入多个数据Dataframe,此段可使用循环调用
df = pd.DataFrame.from_dict(winner, orient='index')

writer = pd.ExcelWriter('SOM_Result.xlsx', engine='openpyxl')
book = load_workbook(writer.path)
writer.book = book
my_df.to_excel(excel_writer=writer, sheet_name=str(SheetNames[i_c]))

writer.save()
writer.close()

# 3.openpyxl删除第一个空的sheet工作簿
# 删除空表头Sheet1
# 执行删除操作:
sheet_name1 = 'Sheet1'
# 载入工作簿
workbook = openpyxl.load_workbook('SOM_Result.xlsx')
#
# 删除目标Sheet
worksheet = workbook[sheet_name1]
workbook.remove(worksheet)

# 保存已做删除处理的工作簿
workbook.save('SOM_Result.xlsx')