我是一个使用python的总菜鸟(事实上编程),但我希望你可以提供帮助:)。
我有一个.txt文件,其中包含一个包含地址的字符串列表。
我想将它导入Python,然后搜索第一个数字字符,然后为它创建一个新列......比如
输入
'Elm Street 12'
'Baker Street 143'
和输出
'Elm Street 12' , 12
'Baker Street 143' , 14
并将其保存为.txt。
我试图从windows cmd开始。
提前谢谢。
答案 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模块