隨筆 Python批量合併csv檔案的資料

2021-10-08 12:33:07 字數 2388 閱讀 7392

os板塊不是很會用,哈哈

import glob

import os

import pandas

import csv

#需要合併的檔案路徑

inputfile =

str(os.path.dirname(r'd:\test\cloudai\test_data1\test_data\classifydata'))

+r'\classifydata\*.csv'

#合併後生成的檔案儲存的位置

outputfile =

str(os.path.dirname(r'd:\test\cloudai\test_data1\test_data\\classifydata\result'))

+r'\result\result.csv'

csv_list = glob.glob(inputfile)

filepath = csv_list[0]

df = pandas.read_csv(filepath)

df.to_csv(outputfile,index=

false

,encoding=

'utf-8'

)for i in

range(1

,len

(csv_list)):

filepath = csv_list[i]

d = pandas.read_csv(filepath)

d.to_csv(outputfile,index=

false

,header=

false

,mode=

'a+'

,encoding=

'utf-8'

)print

('***檔案生成完成***'

)#列印生成檔案的行數

csv_reader = csv.reader(

open

(outputfile,encoding=

'utf-8'))

l =len

(list

(csv_reader)

)print

(l)

番外:

如果需要控制行數的話需要加入迴圈但是這樣會比較慢,慢的原因是每次迴圈都會計算一次行數,當行數比較大的時候就會非常慢,我是放棄了

import glob

import os

import pandas

import csv

inputfile =

str(os.path.dirname(r'd:\test\cloudai\test_data1\test_data\classifydata'))

+r'\classifydata\*.csv'

outputfile =

str(os.path.dirname(r'd:\test\cloudai\test_data1\test_data\\classifydata\result'))

+r'\result\result.csv'

csv_list = glob.glob(inputfile)

filepath = csv_list[0]

df = pandas.read_csv(filepath)

df.to_csv(outputfile,index=

false

,encoding=

'utf-8'

)for i in

range(1

,len

(csv_list)):

filepath = csv_list[i]

d = pandas.read_csv(filepath)

d.to_csv(outputfile,index=

false

,header=

false

,mode=

'a+'

,encoding=

'utf-8'

) csv_reader = csv.reader(

open

(outputfile, encoding=

'utf-8'))

l =len(

list

(csv_reader)

)if l>=

26000000

:break

print

('***檔案生成完成***'

)csv_reader = csv.reader(

open

(outputfile,encoding=

'utf-8'))

l =len

(list

(csv_reader)

)print

(l)

隨筆 Python批量合併csv檔案的資料

os板塊不是很會用,哈哈 import glob import os import pandas import csv 需要合併的檔案路徑 inputfile str os.path.dirname r d test cloudai test data1 test data classifydata...

Python批量轉mat為csv

matlab和python同時處理一批資料,matlab可以生成很實用的mat檔案,python可以進一步處理分析,並畫出漂亮的資料圖。本人用matlab生成多個mat檔案,每個mat檔案中又包含struct欄位,需要讀取每個struct中的每乙個資料,並分別在不同的資料夾下儲存為csv,資料如下圖...

python縱向合併(按行合併)多個csv檔案

將多個csv檔案合到乙個csv檔案 import os import pandas as pd import glob csv list glob.glob 14 points 檢視同資料夾下的csv檔案數 print u 共發現 s個csv檔案 len csv list print u 正在處理....