300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > pandas concat_pandas合并几百个csv只需要一分钟?(含代码 拿去即可用)

pandas concat_pandas合并几百个csv只需要一分钟?(含代码 拿去即可用)

时间:2024-03-25 18:16:33

相关推荐

pandas concat_pandas合并几百个csv只需要一分钟?(含代码 拿去即可用)

数据分析免不了遇到很多个数据结构完全一样,就是数量太多,几十个,多则上千个,如何快速的合并文件一直是一个头疼的问题,在我学习了pandas的cocat后我写了一个小程序,运行后几百个文件都可以快速的合并完成,下面一起来看看如何实现:

本文涉及的知识点:

tkinter的初步了解panads的concat

知识点回顾:

concat:

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,

keys=None, levels=None, names=None, verify_integrity=False,

copy=True)

合并csv需要以下几个参数:

objs:DataFrame的列表ignore_index=False:是否忽略原先的索引

代码实例讲解:

首先导入需要的库:

#ecoding:utf-8# Created by Administrator at -8-27import pandas as pdimport osfrom tkinter.filedialog import askdirectoryimport tkinter as tkfrom tkinter import filedialog

第二步:因为文档经常涉及到中文,所以重点讲解在gbk编码下的实现过程:

想要实现批量合并,1、首先需要拿到文件的路径,根据路径实现循环。2、每个数据导入pandas后的数据名列表

1、获取文件名列表

print("请选择文件:")root = tk.Tk()root.withdraw()file_path = filedialog.askopenfilenames()

2、读取数据

file_list = []#定义一个列表用来放合并的文件名num=0for each in file_path: num+=1 print('正在读取:',each) each=d.read_csv(each,encoding='gbk') file_list.append(each)

3、合并数据

print('正在合并数据,请稍等...')result=pd.concat(file_list,ingone=True)

4、导出数据

print("请选择输出文件路径:")root = tk.Tk()root.withdraw()file_out=askdirectory()print('正在导出...')result.to_csv(file_out + '' + '合并结果' + '.csv', header=1, index=0)print('合并完成!',“共合并文件%s"%num)

如果你是utf编码的文件:

将步骤2中:encoding改为“utf-8”

"df%s"% num=d.read_csv(each,encoding='gbk')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。