我正在读取文件夹中的多个csv文件,读取文件的名称类似于此m1,m2,m3,... 所以我需要创建csv文件(我将新文件放在其他路径中)具有与读取文件相同的名称,该怎么办? 例如,如果第一个读取的文件具有名称(m1),则创建新文件必须具有名称(m1)
fpath = '/path/*'
for file in iglob(fpath):
with open(file) as f:
for i in f:
try:
#some processing
except ValueError:
pass
with open('C:\\write\\ .csv','w') as ff:
ff.write()
答案 0 :(得分:0)
当您遍历文件路径时,只需查看是否获得完整的文件名即可。
我假设您应该得到类似“ /path/m1.csv”的
因此您可以通过以下方式获取文件名:
filename = file.split("/")[-1].split(".")[0]
拥有文件名后,在编写文件时,只需执行以下操作:
with open('C:\\write\\{}.csv'.format(filename),'w') as FF:
ff.write()
答案 1 :(得分:0)
您可以使用此:
import os
from glob import iglob
source = '/path/*'
for path in iglob(source):
destfilepath = os.path.join('C:/write', os.path.basename(path).replace(".txt", ".csv"))
with open(path, "r") as f1, open(destfilepath, 'w') as f2:
for line in f1:
try:
# some processing on line
pass
except ValueError:
pass
f2.write(line) # --> write the processed line to output file