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 正在處理....