小編寫這篇文章的主要目的,主要是給大家做一個解答,解答有幾個方向,包括利用python合并csv文件的一些相關實例,下面就給大家做出一個解答。
1.用concat方法合并csv
將兩個相同的csv文件進行數(shù)據(jù)合并,通過pandas的read_csv和to_csv來完成,即采用concat方法:
#加載第三方庫 importpandasaspd importnumpyasnp #讀取文件 df1=pd.read_csv("文件-1.csv") df2=pd.read_csv("文件-2.csv") #合并 df=pd.concat([df1,df2]) df.drop_duplicates()#數(shù)據(jù)去重 #保存合并后的文件 df.to_csv('文件.csv',encoding='utf-8') 也可以增加一列標簽,以區(qū)別兩個合并后的數(shù)據(jù): #加載第三方庫 importpandasaspd importnumpyasnp #讀取文件 df1=pd.read_csv("文件-1.csv") df1["來自文件"]="文件-1" df2=pd.read_csv("文件-2.csv") df2["來自文件"]="文件-2" #合并 df=pd.concat([df1,df2]) df.drop_duplicates()#數(shù)據(jù)去重 #保存合并后的文件 df.to_csv('文件.csv',encoding='utf-8')
2.glob模塊批量合并csv
在運用合在一起少許文檔時,可以用里面的concat方法。如果遇到很多的相同文檔必須合在一起,這個時候應當做好快速復制粘貼,這樣可以提高工作效率,提升實際操作高效率。
運用Python快速復制粘貼csv,這兒講解應用的辦法是引進glob模塊。
glob模塊是最簡單控制模塊其一,具體內(nèi)容少,它能夠搜索合乎特殊規(guī)矩的文檔路徑名。
根據(jù)glob方法賦值所有文件夾,獲取數(shù)據(jù)并增加儲存到文檔中。
importnumpyasnp importpandasaspd importglob importre csv_list=glob.glob('*.csv') print('共發(fā)現(xiàn)%s個CSV文件'%len(csv_list)) print('正在處理............') foriincsv_list: fr=open(i,'r',encoding='utf-8').read() withopen('文件合集.csv','a',encoding='utf-8')asf: f.write(fr) print('合并完畢!')
以上方法是合并csv文件,要合并excel文件同理。
補充:Python處理(加載、合并)多個csv文件
數(shù)據(jù)集介紹:本數(shù)據(jù)集是某化工系統(tǒng)的數(shù)據(jù),一共有很多個月的,我這里就拿一個月的數(shù)據(jù)集,August_data(八月的數(shù)據(jù)集),一共有31個csv文件。
方法一for循環(huán)遍歷+os.listdir(directory_path)+[forfileintqdm]+os.path.join(path,file)
importpandasaspd importnumpyasnp fromtqdmimporttqdm importos defget_data(path): df_list=[] forfileintqdm(os.listdir(path)):##進度條 file_path=os.path.join(path,file) df=pd.read_csv(file_path) df_list.append(df) df=pd.concat(df_list) returndf cPath='.\August_data' #cPath='F:/BaiduNetdiskDownload/寧東電廠數(shù)據(jù)及分析要求/寧東脫銷系統(tǒng)優(yōu)化-上海交大/SCR數(shù)據(jù)-2020-1/8月數(shù)據(jù)'#F:/BaiduNetdiskDownload/寧東電廠數(shù)據(jù)及分析要求/寧東脫銷系統(tǒng)優(yōu)化-上海交大/SCR數(shù)據(jù)-2020-1/8月數(shù)據(jù) #uPath=str(cPath)#uPath=unicode(cPath,'utf-8') #dirs=os.listdir(TEST_PATH) #print(dirs) test_df=get_data(cPath) print(test_df.head()) #test_df.to_csv(path_or_buf="test.csv",index=False)#保存為CSV文件
方法二glob方法
#!/usr/bin/envpython #coding=utf-8 importglob importtime importcsv importpandasaspd fromtqdmimporttqdm #anewfile #openalltheCSVfile #遍歷文件夾下所有csv文件 TEST_PATH='.\August_data' csv_list=glob.glob(f'{TEST_PATH}\*.csv') print('共有%s個CSV文件'%len(csv_list)) #print(csv_list) defget_data(): df_list=[] forcsv_fileincsv_list: df=pd.read_csv(csv_file) df_list.append(df) df=pd.concat(df_list) print("LoadingOer") returndf get_data()
小編就為大家介紹到這里了,希望能給各位讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/127843.html
摘要:如果該文件已存在,文件指針將會放在文件的結(jié)尾。運行結(jié)果以上是讀取文件的方法。為了輸出中文,我們還需要指定一個參數(shù)為,另外規(guī)定文件輸出的編碼。 上一篇文章:Python3網(wǎng)絡爬蟲實戰(zhàn)---30、解析庫的使用:PyQuery下一篇文章:Python3網(wǎng)絡爬蟲實戰(zhàn)---32、數(shù)據(jù)存儲:關系型數(shù)據(jù)庫存儲:MySQL 我們用解析器解析出數(shù)據(jù)之后,接下來的一步就是對數(shù)據(jù)進行存儲了,保存的形式可以...
摘要:前言大家好,我是測試君最近有小伙伴后臺給我留言,說自己用寫了一個大文件上傳的接口,現(xiàn)在想本地檢驗一下接口并發(fā)的穩(wěn)定性,問我有沒有好的方案本篇文章以文件上傳為例,聊聊并發(fā)執(zhí)行腳本的完整流程實現(xiàn)文件上傳大文件上傳包含個步驟, ...
摘要:本文將展示如何利用的模塊從文件中爬取表格數(shù)據(jù)。但如何從文件中提取其中的表格,這卻是一個大難題。我們以輸出文件為例從文件中提取表格將表格數(shù)據(jù)轉(zhuǎn)化為文件得到的文件如下例在例中,我們將提取頁面中的某一區(qū)域的表格的數(shù)據(jù)。 簡介 ??本文將展示一個稍微不一樣點的爬蟲。??以往我們的爬蟲都是從網(wǎng)絡上爬取數(shù)據(jù),因為網(wǎng)頁一般用HTML,CSS,JavaScript代碼寫成,因此,有大量成熟的技術(shù)來爬取...
摘要:如果你也是學習愛好者,今天講述的個小技巧,真挺香歡迎收藏學習,喜歡點贊支持。因此,鍵將成為值,而值將成為鍵。幸運的是,這可以通過一行代碼快速完成。因此,我們的代碼不會因錯誤而終止。 ...
摘要:因其在各個領域的實用性與和等其他編程語言相比的生產(chǎn)力以及與英語類似的命令而廣受歡迎。反轉(zhuǎn)字典一個非常常見的字典任務是如果我們有一個字典并且想要反轉(zhuǎn)它的鍵和值。 ??...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02