實現目標:一個文件夾下包括n個.csv數據文件,想將后綴為ts.csv的文件與對應數字的.csv文件進行合並


此圖為wf.csv文件中的數據格式,ts.csv文件是與此文件等行數的一列數據,將此列數據添加到已有18列數據的后面,完成數據合並操作
代碼如下:
import pandas as pd
from pandas import DataFrame
import os
import numpy as np
import csv
import xlrd
import xlwt
import time
# https://www.cnblogs.com/nxf-rabbit75/p/10105271.html替換一些小技巧
path = r'C:\Users\Administrator\Desktop\mat'#文件夾路徑
def get_file(): # 創建一個空列表
files = os.listdir(path)
list = []
for file in files:
if not os.path.isdir(path + file): # 判斷該文件是否是一個文件夾
f_name = str(file)
# print(f_name)
tr = '\\' # 多增加一個斜杠
filename = path + tr + f_name
#filename = f_name
list.append(filename)#得到所有數據文件的名字
return list
list = get_file()
#start=time.time()
i=0
for f in list[1::2]:
df = pd.read_csv(f,header=None) # 每個csv文件中的數據
data1 = np.array(df) # 把表格轉換成數組的格式
df1 = pd.read_csv(list[i],header=None) # 每個csv文件中的數據
data2 = np.array(df1) # 把表格轉換成數組的格式
#np.insert(data2, 18, values=data1, axis=1)
data3=np.c_[data2,data1]#將data1數據加載在data2數據列后面
dfdata = pd.DataFrame(data=data3)
filename=os.path.basename(list[i])#截取文件名
datapath1 = 'C:\\Users\\Administrator\\Desktop\\combineFile\\' + filename
dfdata.to_csv(datapath1,index=False,header=None) # 進行數據的保存
i=i+2
#end=time.time()
#print("此程序一共運行%s"%(end-start))
轉換成功啦!

一定要注意如果建立了numpy.array是不能改變原有數組的值,只能新建一個變量進行保存生成的數據!!!
給numpy矩陣添加一列的方法和實例:https://blog.csdn.net/weixin_39624716/article/details/111434490?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242
