吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2142|回复: 9
收起左侧

[讨论] pandas修改或增加Excel(原格式不变)

[复制链接]
lizy169 发表于 2022-9-15 13:46
直接上代码:
[Python] 纯文本查看 复制代码
import pandas as pd

df = pd.read_excel(r'E:\123.xlsx', sheet_name="Sheet1", )
df['ssd'] = '狗狗'
df['其它1'][1] = '猫猫'
with pd.ExcelWriter(r'E:\123.xlsx', mode='a', if_sheet_exists='overlay') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)
print(df)
exit()


运行前文件格式:
sshot-1.png

运行后保存的:

修改后保持的

修改后保持的


用得上的拿去,顺便免费评分一下。

但原表格有合并单元格就不友好了,我还没找到方法,

不知道那位大神能指点一下?


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

JuncoJet 发表于 2022-9-15 13:58
PD的EXCEL读写看依赖库的吧,这底层用的什么库
zzkz 发表于 2022-9-15 14:17
 楼主| lizy169 发表于 2022-9-15 14:27
zzkz 发表于 2022-9-15 14:17
我没看懂这个是在干啥,经验分享么

有没有其它修改或增加Excel的方法?能保持原格式不变的
lxxtoday 发表于 2022-9-15 14:43
本帖最后由 lxxtoday 于 2022-9-15 14:54 编辑

看到这个,想到之前做过一个简单的python读取生成新表格的脚本,分享出来大家看看,因为没有深入学习,只是初步实现功能,代码粗糙并且很多bug,欢迎指教
[Python] 纯文本查看 复制代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-

#pip install openpyxl
#pip install xlrd
#pip install xlwt
#pip install pandas

import pandas as pd                #导入pandas模块

df=pd.read_excel('G:/temp/AA.xlsx',sheet_name='AA-US')                #读取excel对应sheet #后期轮询读取

#sheet1=df[(df.SKU=='A-V587')&(df.交易类型=='订单付款')&(df.付款类型=='商品价格')]                #定义某个SKU不重复筛选条件为筛选后列名
#SKU=df.drop_duplicates(subset=['SKU'],keep='first').SKU                #筛选出SKU表

b=[];c=[];d=[];e=[];f=[];g=[];

for i in df.drop_duplicates(subset=['SKU'],keep='first').SKU:                #for循环SKU
        sheet1=df[(df.SKU==i)&(df.交易类型=='订单付款')&(df.付款类型=='商品价格')]
        b.append(sheet1.金额.sum().round(2))
        c.append(sheet1.数量.sum().astype("int"))
        sheet2=df[(df.SKU==i)&(df.付款详情=='商品价格的销售佣金:')]
        d.append(sheet2.金额.sum().round(2))
        sheet3=df[(df.SKU==i)&(df.付款详情=='亚马逊物流基础服务费:')]
        e.append(sheet3.金额.sum().round(2))
        sheet4=df[(df.SKU==i)&(df.付款类型=='促销返点')]
        f.append(sheet4.金额.sum().round(2))
        sheet5=df[(df.SKU==i)&(df.付款类型=='亚马逊库存退款 - 买家退货:')]
        g.append(sheet5.数量.sum().astype("int"))
        
pd.DataFrame({'SKU':df.drop_duplicates(subset=['SKU'],keep='first').SKU,'销售金额':b,'数量':c,'佣金':d,'FBA':e,'促销返点':f,'退货数量':g}).to_excel('G:/temp/BB.xlsx',index=False)

AA.xlsx AA-US

AA.xlsx AA-US

BB.xlsx

BB.xlsx
ymhld 发表于 2022-9-15 15:08
要复制格式,比较麻烦一点

https://blog.csdn.net/weixin_459 ... 1001.2014.3001.5501
狐白本白 发表于 2022-9-15 16:26
你这个太简单了 dateframe 本来就是表格 你直接添修改都没问题 这个代码没啥意义看看楼上 的
1e3e 发表于 2022-9-15 16:47
这代码有啥特别之处吗
 楼主| lizy169 发表于 2022-9-15 17:32
以前在做数据分析输出的时候,大都是csv格式,每次打开都要调整格式,并且不能保存格式,
后改为分析输出Excel格式,调整格式保存,但再往里面添加数据时,只会全部覆盖一遍,又要重新调整一遍格式,
用上面这个方式可以实现不断的往Excel添加数据,也就是文件不存在就直接写入硬盘,文件已经存在就往里面添加数据,这个功能以前只有to_csv能实现,to_Excel我查了网上很多别人的案例,都不理想,自己摸索了好几天,今天才实现
bj201809 发表于 2022-9-22 20:25
可以看下StyleFrame这个三方库,可以保存原始样式
https://styleframe.readthedocs.io/en/latest/styleframe.html

免费评分

参与人数 1热心值 +1 收起 理由
lizy169 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表