问题描述
我有多个CSV文件,并希望将其重塑为列并将每个文件再次保存为CSV。 我写了这段代码,但是一次不能导入多个CSV。
首先,我像这样打开文件:
@H_404_4@import csv
import numpy as np
results = []
with open("ESACCI-SEALEVEL-L4-MSLA-MERGED-19930115000000-fv02.csv") as csvfile:
reader = csv.reader(csvfile,quoting=csv.QUOTE_NONNUMERIC)
for row in reader: # each row is a list
results.append(row)
然后重塑形状并另存为csv
@H_404_4@data1 = np.reshape(results,(-1,1))
np.savetxt('data1.csv',data1,delimiter=",")
请帮助我
解决方法
您可以使用简单的for循环来实现这一目标
import csv
import numpy as np
input_file_list = ['file1.csv','file2.csv','file3.cvs']
for file_name in input_file_list:
results = []
with open(file_name) as csvfile:
reader = csv.reader(csvfile,quoting=csv.QUOTE_NONNUMERIC)
for row in reader: # each row is a list
results.append(row)
data1 = np.reshape(results,(-1,1))
np.savetxt(output_name[:-4] + 'processed.csv',data1,delimiter=",")
,
据我了解,您想对多个csv文件执行相同的操作。可以使用如下所示的循环来完成此操作,您可以在其中提及csv文件的目录和文件名模式-
import csv
import numpy as np
import glob,os
os.chdir("C:\\your_dir\\")
results = []
for counter,file in enumerate(glob.glob("*.csv")):
with open(file) as csvfile:
reader = csv.reader(csvfile,quoting=csv.QUOTE_NONNUMERIC)
for row in reader: # each row is a list
results.append(row)