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()
将Pandas.DataFrame信息写入同一excel不同的sheet_name
于 2020-07-29 17:53:02 首次发布