之前写过python对【多个Excel文件】中的【单个sheet】进行合并,参考:点我
之前也写过python对【多个Excel文件】中的【多个sheet】进行合并,参考:点我
今天再写一个python对多个csv格式的文件进行合并的小工具
但是大家切记,数据量别太大,如果数据量太大,即合并之后的数据量不要超过csv最大的行数,否则的话最后的保存,就会变得很慢,这时候就会需要用到数据库插入,放心数据库插入我也已近写好了,参考:点我
首先csv里面没有多个sheet,它只能有一个sheet,而且读取的速度也是比excel要快,所以还是很方便的。
目录结构
文件夹:【待合并数据源】:把你的csv文件放进去,可多个
结果会自动生成在当前文件夹
上代码
import os
import openpyxl
import pandas
import time
df = pandas. read_csv( "./合并数据源/" + os. listdir( "./合并数据源/" ) [ 0 ] , dtype= str , keep_default_na= "" , encoding= 'gbk' ) . head( 0 )
head = list ( df)
wb2 = openpyxl. Workbook( )
ws = wb2. active
ws. append( head)
for f in os. listdir( "./合并数据源/" ) :
print ( f)
df = pandas. read_csv( "./合并数据源/" + f, dtype= str , keep_default_na= "" , skiprows= 1 , encoding= 'gbk' )
for d in df. values. tolist( ) :
ws. append( d)
wb2. save( "./结果.xlsx" )
print ( "结果生成成功!,就在当前文件夹内!" )
time. sleep( 2 )
最后的保存代码:wb2.save(“./结果.xlsx”)
您也可以写成:wb2.save(“./结果.csv”)
您看到这,你会不会想把代码打包成EXE可执行程序,让一个不会Python的人也可以使用呢!那么打包请参考,我觉得这是最方便的打包教程:点我学会python打包exe
希望对大家有帮助,如有错误,欢迎指正
致力于办公自动化的小小程序员一枚
致力于写出清楚的博客
都看到这了,关注+点赞+收藏=不迷路!!