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')