创建csv文件具有与读取文件相同的名称

时间:2020-04-07 16:04:20

标签: python file

我正在读取文件夹中的多个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()

2 个答案:

答案 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