我完全不懂python(事实上是编程),但我希望你能帮忙:)
我有一个.txt文件,里面有一个包含地址的字符串列表。
我想把它导入Python,然后搜索第一个数字字符,然后为它创建一个新列……就像一样
输入
'Elm Street 12'
'Baker Street 143'
并输出
'Elm Street 12' , 12
'Baker Street 143' , 14
并将其保存到.txt.
我正在尝试从windows cmd做if。
提前谢谢。
您可能想要使用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'}
with open('file.txt') as inn:
for line in inn:
print "%s %s" % (line, [int(item) for item in line.split(' ') if item.isdigit()])
这可能是您正在寻找的
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
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
除了在平面文件中记录数据外,您还应该更好地使用pickle模块