使用字符串的某个部分。 python中某些条件之前和之后的一部分

时间:2013-09-30 19:21:28

标签: python

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

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中相当新。有人可以帮助我如何创建这样的循环吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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))

可以做一些类似于你需要的事情。