pandas concat_pandas合并几百个csv只需要一分钟?(含代码,拿去即可用)
生活随笔
收集整理的這篇文章主要介紹了
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 2018-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')總結
以上是生活随笔為你收集整理的pandas concat_pandas合并几百个csv只需要一分钟?(含代码,拿去即可用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python删除word表格中的某一行_
- 下一篇: web打印控件_web网页测试应该注意点