debug的时候,path正确,Sheet名正确,还是覆盖,一直成功不了
已解决
原因是ExcelWriter的位置问题,ExcelWriter要放在循环外面,
之前是:读一次,打开,写一次,保存;
修改后:打开,读一次写一次,读一次写一次,保存;
这样就可以正常写入了

import pandas as pd
import numpy as np
import re
import os
import warnings
import time
warnings.filterwarnings('ignore')
path=r'C:\Users\feng\Desktop\分组数据\F'
today_date = time.strftime("%Y%m%d", time.localtime(time.time()))
L={}
for root, dirs, files in os.walk(path):for file in files:if os.path.splitext(file)[1] == '.xlsx':if file.split("_")[0] in L:A=L[file.split("_")[0]]A.append(os.path.join(root, file))L[file.split("_")[0]]=Aelse:L[file.split("_")[0]]=[os.path.join(root, file)]
# print(L)

前面这段是字典嵌套列表,用字典的键对应人名,值对应文件名,把值用列表表示
后面循环列表写进同一个Excel表里

修改之后成功:

for key, value in L.items(): i=L[key][0]print(key)depart=i.split("\\")[-2]path1=r'C:\Users\feng\Desktop\分组数据\F'+'\\'+'Sheet汇总'+'\\'if not os.path.exists(path1):os.mkdir(path1)path2=path1+depart+'-广告'+today_date+"\\"if not os.path.exists(path2):os.mkdir(path2)path3=path2+key+'-广告'+today_date+'.xlsx'with pd.ExcelWriter(path3) as writer:for a in L[key]:name=a.split("\\")[-1].split('_')[1]print(name)df=pd.read_excel(a)df.to_excel(excel_writer=writer,sheet_name=name,index=None)writer.save()

原先的错误代码:

for key, value in L.items(): for i in list(value.split(',')):print(i)# print(df)depart=i.split("\\")[-2]path1=os.path.dirname(i)+"\\"+depart+"\\"path2=os.path.dirname(i)+"\\"+depart+"\\"+key+'.xlsx'if not os.path.exists(path1):os.mkdir(path1)# print(path2)name=i.split("\\")[-1].split('_')[1]# print(name)df=pd.read_excel(i)# writer=pd.ExcelWriter(path2)with pd.ExcelWriter(path2) as writer:df.to_excel(excel_writer=writer,sheet_name=name,index=None)# df.to_excel(writer,name,index=False)writer.save()

python 多表循环写进一个表的不同Sheet,使用ExcelWriter仍然覆盖第一个Sheet相关推荐

  1. python使用for循环打印99乘法表-Python用for循环实现九九乘法表

    下面通过一段代码给大家介绍python 使用for 循环实现九九乘法表,具体代码如下所示: #for 循环实现99乘法表 for i in range (1,10): for j in range ( ...

  2. python基础——while循环(九九乘法表,阶乘计算器,三角形图案打印输出)

    python基础--while循环(九九乘法表,阶乘计算器,三角形图案打印输出) 一.目的 本人最近在学习python的基础语法,此文章用来记录学习过程所用,本文章讲述的是while循环的一些基础实例 ...

  3. python如何用for循环写九九乘法表

    在python中用while循环和for循环都可以写出九九乘法表,在实际运用中没有多大区别,客户只要最终能运行出来效果就可以了,具体用什么方法写完全在自己 今天给大家带来一个九九乘法表的写法,话不多说 ...

  4. python使用for循环打印99乘法表-Python中的九九乘法表(for循环)

    用for循环写出的九九乘法表(包括函数的调用) #方向一 for i in range(1,10): for j in range(1,i+1): d = i * j print('%d*%d=%-2 ...

  5. Python使用for循环打印九九乘法表

    文章目录 1. 常规九九乘法表 2. 非常规九九乘法表 1. 常规九九乘法表 九九乘法表重点在于由两个for循环控制输出 核心是第二个循环的范围由第一个循环的参数决定 # 输入层数 a = int(i ...

  6. python使用for循环打印99乘法表-python3:使用for循环打印九九乘法表

    for i in range(1, 10): for j in range(1, i + 1): print(j, '*', i, '=', i * j, end=" ") #en ...

  7. oracle 表空间写文件,Oracle表空间和数据文件管理

    数据库模型 Database Tablespace Datafile Segment Extent Oracle Block OS block 创建表空间 SQL> create tablesp ...

  8. html语言九九乘法表,js写九九乘法表

    首先基础是一个表格: 例//row=5 col=5 var str = " var row = 1; while (row str += " "; var col = 1 ...

  9. 九九乘法表口诀python-Python用for循环实现九九乘法表

    下面通过一段代码给大家介绍python 使用for 循环实现九九乘法表,具体代码如下所示: #for 循环实现99乘法表 for i in range (1,10): for j in range ( ...

最新文章

  1. 项目经理修炼手册 2.1.2 项目经理的基本功
  2. 大佬来告诉你在遇到B站崩了,如何防止类似事故的出现?
  3. vector操作小结
  4. (转载)虚幻引擎3--【UnrealScript教程】章节一:8.Enums
  5. 文件上传与下载----SpringMVC
  6. RedHat7修改主机名hostname
  7. [笔记一]Essential JavaScript Design Patterns For Beginners
  8. 5年IT从业的感悟和未来百万年薪畅想
  9. mongdb 模糊查询
  10. Effective_STL 学习笔记(十六) 如何将 vector 和 string 的数据传给遗留的API
  11. Python 父与子的编程之旅 第七章答案
  12. 亚利桑那州立大学计算机专业,亚利桑那州立大学计算机专业排名
  13. 跨时钟域处理所用到的同步器
  14. 【Meta Learning学习笔记】Meta Learning详解
  15. 联网时显示已连接无法连接到服务器怎么办,路由器显示已连接不可上网怎么办?...
  16. OJ每日一练——细菌个数
  17. 唯众本科Web前端专业解决方案
  18. t-star腾讯安全高校挑战赛2022 writeup
  19. Ilog、Drools、Jess规则引擎的Rule Language 比对
  20. 腾讯手游助手链接资源更新服务器失败怎么办,腾讯手游助手更新刺激战场提示网络出现异常更新失败怎么办?...

热门文章

  1. php json_decode 转义,关于​PHP json_decode中文转义的问题
  2. 零基础两个月学java_高中生、零基础适合学java吗?
  3. html中b标签去加粗,html中b加粗标签的详细介绍
  4. Macbook Pro屏幕闪烁的解决办法
  5. 市场调研-基因组编辑突变检测试剂盒市场现状及未来发展趋势
  6. 设计原则与思想:规范和重构(11讲)
  7. Fluke ii900 工业声学成像仪性能讲解
  8. 中秋快乐! 与时间服务器同步
  9. python单通道转三通道
  10. Python之爬虫实现