我与蟒蛇总小白(其实编程),但我希望你能帮助:)导入字符串 - 蟒蛇
我有一个列表的.txt文件包含地址的字符串
我想将它导入到Python,然后搜索第一个数字小字符,然后为它创建一个新的列...像
输入
'Elm Street 12'
'Baker Street 143'
和输出
'Elm Street 12' , 12
'Baker Street 143' , 14
并将其保存为.txt。
我想要做的,如果从Windows CMD。
预先感谢您。
我与蟒蛇总小白(其实编程),但我希望你能帮助:)导入字符串 - 蟒蛇
我有一个列表的.txt文件包含地址的字符串
我想将它导入到Python,然后搜索第一个数字小字符,然后为它创建一个新的列...像
输入
'Elm Street 12'
'Baker Street 143'
和输出
'Elm Street 12' , 12
'Baker Street 143' , 14
并将其保存为.txt。
我想要做的,如果从Windows CMD。
预先感谢您。
with open('file.txt') as inn:
for line in inn:
print "%s %s" % (line, [int(item) for item in line.split(' ') if item.isdigit()])
您可能想要使用dict
。循环浏览并使用re
来查找数字字符,将其用作每个字符串的字典中的一个键。如果你希望有重复。
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'}
为什么使用RE,你真的不需要它吗? – 2011-06-02 14:45:31
比根据地址的格式更安全。 – zeekay 2011-06-02 14:55:59
这可能是你在找什么
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)
注意,我了解,有在文件中引号“。我怀疑这一点,但你的输出有引号,所以我的正则表达式有引号....如果实际上没有引号,你将删除三角形
在平面文件中记录数据的互动,你应该更好地使用腌菜模块
嗨雅各布,我得到无效的语法 - %s“ – 2011-06-02 14:45:41
我的错误现在纠正 – 2011-06-02 14:51:40