1

我有一组完整路径文件,例如:

a=['/dir1/europe_2013_info.csv', '/dir2/USA_2013_info.csv', '/dir3/Africa_2013_info.csv']

我想创建一个新文件并将这个特性写入这个文件。例如:

f=open('all.csv','w')
f.write('port,europe\n')
f.close

f=open('all.csv','w')
f.write('port,USA\n')
f.close

等我在python中相当新。有人可以帮助我如何创建这样的循环吗?

4

2 回答 2

2

您无需多次打开和关闭文件。

使用正则表达式/(\w+)_\d{4}(或更明确/(\w+)_\d{4}_info\.csv的)提取列表中文件路径的所需部分,并使用 csv.writer写入 csv 文件:

import re
import csv

a = ['/dir1/europe_2013_info.csv', '/dir2/USA_2013_info.csv', '/dir3/Africa_2013_info.csv']

regexp = '/(\w+)_\d{4}'
with open('all.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows([['port', re.search(regexp, i).group(1)] for i in a])

那么,内容all.csv将是:

port,europe
port,USA
port,Africa
于 2013-09-30T19:30:13.143 回答
1

好像

import os.path

b=[os.path.basename(x).split('_')[0] for x in a]
with open('all.csv.', 'w') as f:
    for x in b:
        f.write('port,{0}\n'.format(b))

可能会做类似于您需要的事情。

于 2013-09-30T19:37:50.777 回答