簡體   English   中英

從.txt 導入字符串並搜索第一個數字字符 - python

[英]Import strings from .txt and searching for first numeric character - python

我是 python 的菜鳥(實際上是編程),但我希望你能提供幫助:)

我有一個包含地址的字符串列表的 .txt 文件。

我想將它導入到 Python 然后搜索第一個數字字符,然后為它創建一個新列......就像

輸入

'Elm Street 12' 
'Baker Street 143'

和 output

'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'}

這可能是您正在尋找的

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)

請注意,我知道文件中有引號 ' 。 我對此表示懷疑,但是您的 output 中有引號,所以我的正則表達式有引號....如果實際上沒有引號,您將刪除 thgem

不要將數據記錄在平面文件中,最好使用 pickle 模塊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM