pandas concat_pandas合并几百个csv只需要一分钟?(含代码,拿去即可用)
數(shù)據(jù)分析免不了遇到很多個(gè)數(shù)據(jù)結(jié)構(gòu)完全一樣,就是數(shù)量太多,幾十個(gè),多則上千個(gè),如何快速的合并文件一直是一個(gè)頭疼的問題,在我學(xué)習(xí)了pandas的cocat后我寫了一個(gè)小程序,運(yùn)行后幾百個(gè)文件都可以快速的合并完成,下面一起來看看如何實(shí)現(xiàn):
本文涉及的知識(shí)點(diǎn):
- tkinter的初步了解
- panads的concat
知識(shí)點(diǎn)回顧:
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需要以下幾個(gè)參數(shù):
- objs:DataFrame的列表
- ignore_index=False:是否忽略原先的索引
代碼實(shí)例講解:
首先導(dǎo)入需要的庫(kù):
#ecoding:utf-8# Created by Administrator at 2018-8-27import pandas as pdimport osfrom tkinter.filedialog import askdirectoryimport tkinter as tkfrom tkinter import filedialog第二步:因?yàn)槲臋n經(jīng)常涉及到中文,所以重點(diǎn)講解在gbk編碼下的實(shí)現(xiàn)過程:
想要實(shí)現(xiàn)批量合并,1、首先需要拿到文件的路徑,根據(jù)路徑實(shí)現(xiàn)循環(huán)。2、每個(gè)數(shù)據(jù)導(dǎo)入pandas后的數(shù)據(jù)名列表
1、獲取文件名列表
print("請(qǐng)選擇文件:")root = tk.Tk()root.withdraw()file_path = filedialog.askopenfilenames()2、讀取數(shù)據(jù)
file_list = []#定義一個(gè)列表用來放合并的文件名num=0for each in file_path: num+=1 print('正在讀取:',each) each=d.read_csv(each,encoding='gbk') file_list.append(each)3、合并數(shù)據(jù)
print('正在合并數(shù)據(jù),請(qǐng)稍等...')result=pd.concat(file_list,ingone=True)4、導(dǎo)出數(shù)據(jù)
print("請(qǐng)選擇輸出文件路徑:")root = tk.Tk()root.withdraw()file_out=askdirectory()print('正在導(dǎo)出...')result.to_csv(file_out + '' + '合并結(jié)果' + '.csv', header=1, index=0)print('合并完成!',“共合并文件%s"%num)如果你是utf編碼的文件:
將步驟2中:encoding改為“utf-8”
"df%s"% num=d.read_csv(each,encoding='gbk')總結(jié)
以上是生活随笔為你收集整理的pandas concat_pandas合并几百个csv只需要一分钟?(含代码,拿去即可用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python删除word表格中的某一行_
- 下一篇: 上睑下垂可以做手术吗