young_yang 发表于 2019-12-19 14:47

python如何提升工作效率,从批量处理表格入手

本帖最后由 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 iin 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解决工作的问题的人,大家一起交流学习。

“每个人都有潜在的能量,只是很容易:被习惯所掩盖,被时间所迷离,被惰性所消磨。”

easygoingtobe 发表于 2019-12-19 17:31

每个人都有潜在的能量,只是很容易:被习惯所掩盖,被时间所迷离,被惰性所消磨。
对我来说,希望100%努力能有20%的收货,就好了

莉莉安 发表于 2020-4-7 00:09

支持支持,小白刚学python,只想提高办公效率,玩玩大佬们分享的代码,楼主一起加油~~
页: [1]
查看完整版本: python如何提升工作效率,从批量处理表格入手