@@@@@pandas 新增sheet,不覆盖原来已经保存的sheet(亲测管用)
口袋里的小小哥 2020-06-02 14:49:02 2759 收藏 9
分类专栏: python 文章标签: pandas 新增sheet不覆盖原数据 数据分析
版权
#以前的sheet数据很重要,又要新增sheet,很难受,看了一堆帖子没一个回答在点子上,找到了方法,分享给大家
import openpyxl
import pandas as pd
weatherfile = "0317.xlsx" #路径
writer = pd.ExcelWriter(weatherfile,engine='openpyxl')
pd_data=pd.DataFrame(数据) #
writer = pd.ExcelWriter(weatherfile,engine='openpyxl')
book = openpyxl.load_workbook(writer.path)
writer.book = book
final_results.to_excel(writer, "新sheet名",index=False)
writer.save()
# 没覆盖,新增成功
————————————————
版权声明:本文为CSDN博主「口袋里的小小哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41868948/article/details/106495978
@@@@@pandas 将多个DataFrame.to_excel写入不同的Sheet
赶在日落之前 2020-09-23 14:13:26 489 收藏 1
版权
话不多说直接上代码:
path = r"C:\Users\Administrator\Desktop"
if not os.path.exists(path):
os.mkdir(path)
path1 = path + r'\test.xlsx'
book = xlrd.open_workbook(r'C:\Users\Administrator\Desktop\多个sheet的测试数据表.xlsx')
with pd.ExcelWriter(path1) as writer:
sheet_name = book.sheet_names()
for i in sheet_name:
new_data = get_data(i)
print(new_data)
new_data.to_excel(writer, sheet_name=i)
writer.save()
其中get_data是我读测试表返回的dataframe的函数 ,大致就是把每个sheet文件变成dataframe返回出来
def get_data(i):
table = book.sheet_by_name(u"%s" % (i))
data_list = []
for i in range(table.nrows - 1):
commpany_name = table.col(0)[i + 1].value
fund_name = table.col(1)[i + 1].value
amt_rank = table.col(2)[i + 1].value
data_list.append((commpany_name, fund_name, amt_rank))
data = pd.DataFrame(data_list, columns=["commpany_name", "fund_name", "manager_name"], dtype=object)
return new_data
————————————————
版权声明:本文为CSDN博主「赶在日落之前」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lzz781699880/article/details/108751836
@@@@@DataFrame.to_excel多次写入不同Sheet
墙角的秋天 2018-03-20 17:08:26 33602 收藏 38
分类专栏: 数据清洗 文章标签: excel 文档 应用 pandas
版权
主要需要pd.ExcelWriter([文件路径])方法
参考官方文档:
>>> writer = pd.ExcelWriter('output.xlsx')
>>> df1.to_excel(writer,'Sheet1')
>>> df2.to_excel(writer,'Sheet2')
>>> writer.save()
1
2
3
4
以下为实际应用:
"""
df1,df2均为sql查询来的数据
excel_filepath为要生成保存的excel文件地址
"""
write = pd.ExcelWriter(excel_filepath)
df1 = pd.DataFrame(d_f1)
excel_header = ['日期','年龄']#excel的标题
df1.to_excel(write,sheet_name='Sheet1',header=excel_header,index=False)
df2 = pd.DataFrame(d_f2)
excel_header = ['日期','人数']
df2.to_excel(write,sheet_name='Sheet2',header=excel_header,index=False)
write.save()
————————————————
版权声明:本文为CSDN博主「墙角的秋天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangxingfan316/article/details/79628463
@@@@@@
时间:2019-11-30
本文章向大家介绍pd.ExcelWriter(to_excel)保存结果到已存在的excel文件中,主要包括pd.ExcelWriter(to_excel)保存结果到已存在的excel文件中使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
网易云课堂该课程链接地址
https://study.163.com/course/courseMain.htm?share=2&shareId=400000000398149&courseId=1006383008&_trace_c_p_k2_=cd6d8636673a4b03b5f77ca55979c1a7
仅存单个excel表格就用df.to_excel更简单
pd.ExcelWriter保存结果到已存在的excel文件中,并支持多个sheet表格写入excel。
Python对excel更多功能编程需要安装openpyxl第三方包
Python代码如下
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 30 13:24:28 2019
@author: [email protected]
"""
import numpy as np
import pandas as pd
df1 = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
"toy": [np.nan, 'Batmobile', 'Bullwhip'],
"born": [pd.NaT, pd.Timestamp("1940-04-25"),
pd.NaT]})
df2 = pd.DataFrame({"name": ['Alfred', 'Jim', 'Catwoman'],
"toy": [np.nan, 'Batmobile', 'Bullwhip'],
"born": ['Greens',pd.Timestamp("1940-04-25"),
pd.NaT]})
with pd.ExcelWriter('result.xls') as writer:
df1.to_excel(writer, sheet_name='sheet1')
df2.to_excel(writer, sheet_name='sheet2')
#仅存单个excel表格就用to_excel更简单
df1.to_excel("result.xlsx")
@@@@@解决pandas .to_excel不覆盖已有sheet的问题
更新时间:2018年12月10日 11:43:11 作者:unsterbliche
今天小编就为大家分享一篇解决pandas .to_excel不覆盖已有sheet的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
直接to_excel会被覆盖,借助ExcelWriter可以实现写多个sheet。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
@@@@@@ 采用pandas模块处理数据,用to_ecxel方法将处理结果写入源文件时,会将源文件覆盖,采用openpyxl函数,可以不覆盖原文件内容,在文件内增加sheet输出处理结果。
例子如下:
Python code?
1 2 3 4 5 6 7 8 9 10 11 12 |
|
@@@@@采用to_excel保存文件不覆盖原有的sheet
m0_37561939 2020-05-01 22:52:42 1740 收藏 8
文章标签: python
版权
在python中用pandas中的to_excel保存文件时,会将原文件的sheet进行覆盖,无法将处理后的结果保存在读取的文件中,采用openpyxl模块可以解决这个问题,方法如下
例子
import openpyxl
import pandas as pd
path = r"C:\Users\john\Desktop\test.xlsx"
df = pd.read_excel(path,index_col=None)
Result = df.head()
excel_writer = pd.ExcelWriter(path, engine='openpyxl')
book = openpyxl.load_workbook(excel_writer.path)
excel_writer.book = book
Result.to_excel(excel_writer=excel_writer, sheet_name= 'test', index=None)
excel_writer.close()
————————————————
版权声明:本文为CSDN博主「m0_37561939」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37561939/article/details/105884067
@@@@@@@@
import pandas
from openpyxl import load_workbook
book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
import pandas as pd
writer = pd.ExcelWriter('foo.xlsx')
df.to_excel(writer, 'Data 0')
df.to_excel(writer, 'Data 1')
writer.save()