我是python中的新手程序员,我正在尝试从文件夹中读取多个csv文件,用' tab'替换所有csv文件的分隔符。分隔符然后将这些文件输出到具有替换分隔符的新文件夹中。到目前为止,我一开始就陷入困境。 这是我开始使用的代码,这适用于单个文件。但我无法处理同一文件夹中的多个文件。
print("\nWrite same CSV File with different string(Replace ',' with tab delimiter)")
with open('Names.csv','r') as csv_file:
csv_reader = csv.reader(csv_file)
with open('Names_new.csv', 'w') as new_file:
csv_writer = csv.writer(new_file, delimiter = '\t', lineterminator='\r')
for line in csv_reader:
csv_writer.writerow(line)
请有人指出一些提示吗? 提前谢谢!
答案 0 :(得分:0)
我认为你问题中的代码不符合你的要求。但是,这里是如何将它嵌入到更多代码中,这些代码将从指定的文件夹中读取csv文件以进行处理。
listdir
获取input_folder
并生成该文件夹中所有文件的列表。from os import listdir
import csv
input_folder = 'catalyst/'
for file_name in listdir(input_folder):
if file_name.endswith('.csv'):
print ('---> processing input file: ', file_name)
with open(input_folder + file_name,'r') as csv_file:
csv_reader = csv.reader(csv_file)
out_file_name = file_name[:-3]+'_new.csv'
print (' creating', out_file_name )
with open(input_folder + out_file_name, 'w') as new_file:
csv_writer = csv.writer(new_file, delimiter = '\t', lineterminator='\r')
for line in csv_reader:
csv_writer.writerow(line)