从.text导入字符串并搜索第一个数字字符 - python

时间:2011-06-02 14:30:44

标签: python import export text-files

我是一个使用python的总菜鸟(事实上编程),但我希望你可以提供帮助:)。

我有一个.txt文件,其中包含一个包含地址的字符串列表。

我想将它导入Python,然后搜索第一个数字字符,然后为它创建一个新列......比如

输入

'Elm Street 12' 
'Baker Street 143'

和输出

'Elm Street 12' , 12
'Baker Street 143' , 14

并将其保存为.txt。

我试图从windows cmd开始。

提前谢谢。

4 个答案:

答案 0 :(得分:0)

with open('file.txt') as inn:
    for line in inn:
        print "%s %s" % (line, [int(item) for item in line.split(' ') if item.isdigit()])

答案 1 :(得分:0)

您可能想要使用dict。循环并使用re查找您的数字字符,将其用作每个字符串的dict中的键。如果您希望有重复项。

import re
results = {}
for s in ['Elm Street 12', 'Baker Street 143']:
    match = re.search(r'\d+', s)
    if match:
        results[match.group()] = s

>>> results
<<< {'12': 'Elm Street 12', '143': 'Baker Street 143'}

答案 2 :(得分:0)

这可能就是你要找的东西

import re

input = '''Elm Street 12
Baker Street 143'''
output = ""

rows = input.split("\n")
for row in rows:
    m = re.search(r'\d+', row)
    output += "{0} {1}\n".format(row, m.group())

print output

答案 3 :(得分:0)

import re
regx = re.compile("^('.+ (\d+)')",re.MULTILINE)

with open('Copie de fileinput.txt','r+') as f:
    mod = regx.sub('\\1 , \\2',f.read())
    f.seek(0,0)
    f.write(mod)

请注意,我了解文件中有引号。我对此表示怀疑,但你的输出中有引号,所以我的正则表达式引用了....如果实际上没有引号,你将删除thgem

在平面文件中记录数据的Intead,你应该更好地使用pickle模块