将Pandas.DataFrame信息写入同一excel不同的sheet_name
程序员文章站
2022-08-06 18:11:57
excel_path:保存的excel文件路径import osimport pandas as pddef write_into_excel_01(): ''' 添加excel_writer后就不需要添加excel_path参数了 使用此方法在一个excel中添加多个DataFram到不同sheet, 需要DataFrame同时写入, 如果用循环分次添加依然会覆盖前面的数据(即excel数据已经存在了), 只有最后的sheet会保留 :r....
excel_path:保存的excel文件路径 import os import pandas as pd def write_into_excel_01(): ''' 添加excel_writer后就不需要添加excel_path参数了 使用此方法在一个excel中添加多个DataFram到不同sheet, 需要DataFrame同时写入, 如果用循环分次添加依然会覆盖前面的数据(即excel数据已经存在了), 只有最后的sheet会保留 :return: ''' excel_path = "./data/excel.xlsx" df_1 = pd.DataFrame() df_1 = df_1.append(pd.Series({}), ignore_index=True) df_2 = pd.DataFrame() df_2 = df_2.append(pd.Series({}), ignore_index=True) writer = pd.ExcelWriter(excel_path) df_1.to_excel(excel_writer=writer, encoding="utf-8", index=False, sheet_name="df_1") df_2.to_excel(excel_writer=writer, encoding="utf-8", index=False, sheet_name="df_2") writer.save() writer.close() def write_into_excel_02(): ''' 添加excel_writer后就不需要添加excel_path参数了 使用此方法在一个excel中添加多个DataFram到不同sheet, 可分批添加,不会有覆盖数据的问题, 即每次都将已存在的excel中的数据拿出再和新数据一起写入。 :return: ''' excel_path = "./data/excel.xlsx" df = pd.DataFrame() df = df.append(pd.Series({}), ignore_index=True) writer = pd.ExcelWriter(excel_path) if not os.path.exists(excel_path): df.to_excel(excel_writer=writer, encoding="utf-8", index=False, sheet_name="df") else: data_dict = pd.read_excel(excel_path) # OrderedDict sheet_names = list(data_dict.keys()) for n in range(len(sheet_names)): sheet_name = sheet_names[n] tmp_df = data_dict.get(sheet_name) # 通过sheet_name获取对应的DataFrame tmp_df.to_excel(excel_writer=writer, encoding="utf-8", index=False, sheet_name="df") df.to_excel(excel_writer=writer, encoding="utf-8", index=False, sheet_name="df") writer.save() writer.close()
本文地址:https://blog.csdn.net/MarkAustralia/article/details/107671483