本帖最后由 young_yang 于 2019-12-19 14:50 编辑
大佬请略过~~话不多说,
此脚本目的就是批量合并表格之将多个csv文件合并到一个新的表格里的多个sheet。
比如你有很多个csv的表格文件,现在想合并到一个csv里,又不想在一个工作表里,想放到多个sheet里,如下图所示
有这种需求的,请看代码:
import pandas as pd
将多个csv文件合并到一个一个工作表里的多个sheet
writer = pd.ExcelWriter('test.xlsx')###将多个csv合并后保存的格式为test.xlsx
data1 = pd.read_csv("2960s-new.csv", encoding="utf-8",index_col=0)##index_col=0的意思是避免了第一列第一行为空
data2 = pd.read_csv("3850-new.csv", encoding="utf-8",index_col=0)
data3 = pd.read_csv("3750x-new.csv", encoding="utf-8",index_col=0)
data1.to_excel(writer,sheet_name='2019-04-01')
data2.to_excel(writer,sheet_name='2019-04-02')
data3.to_excel(writer,sheet_name='2019-04-03')
writer.save()
你会说,文件名还要一个个输入,很麻烦啊,是的,上面的代码就是让你感受一下
大多数情况下,我们不会手动输入的,而是自动从文件夹提取
代码如下:
import pandas as pd
import os
###将多个csv文件合并到一个一个工作表里的多个sheet
newdir=r'C:\Users\young_yang\Desktop\log1'###多个csv文件存放的位置
list=os.listdir(newdir)#列出文件夹下所有的目录和文件
#print(list)
writer=pd.ExcelWriter(r'C:\Users\young_yang\Desktop\log1\合并.xlsx')###合并后存在的位置
for i in range(len(list)):
data=pd.read_csv(list,encoding='utf-8',index_col=0)
data.to_excel(writer,sheet_name=list)##以文件名作为sheet名
writer.save()
你可能会说,只有代码,不知道如何运行啊?
这个问题不做解答了,既然你能在这个论坛里,相信你不是一般人。
以上只是一个基础的代码,没有什么技术含量,欢迎想用python解决工作的问题的人,大家一起交流学习。
“每个人都有潜在的能量,只是很容易:被习惯所掩盖,被时间所迷离,被惰性所消磨。” |