Python sqlite使用regex更新表
我有一个sqlite3表:Python sqlite使用regex更新表,python,regex,sqlite,Python,Regex,Sqlite,我有一个sqlite3表: id gross 1 $3,246,771 (USA) (12 April 1987),$3,189,948 (USA) (5 April 1987),$3,110,003 (USA) 2 $3,478 (USA) (3 August 1997),$3,344,136 (USA) 3 € 14,134 (Spain) 4 $3,150,000 (worldwide) 我想提取包含以下信息的数据: id gross 1
id gross
1 $3,246,771 (USA) (12 April 1987),$3,189,948 (USA) (5 April 1987),$3,110,003 (USA)
2 $3,478 (USA) (3 August 1997),$3,344,136 (USA)
3 € 14,134 (Spain)
4 $3,150,000 (worldwide)
我想提取包含以下信息的数据:
id gross
1 3246771
2 3478
有人知道如何做到这一点吗?根据您提供的信息,您需要获取ID号,然后是第二列中以逗号分隔的第一个数字。对吗 无论哪种方式,使用
re
都应该很容易。假设您的数据位于名为data
的类似文件的对象中
import re
pattern = re.compile(r'(\d+).+([0-9](?:,[0-9)+)*)')
print('id\tgross')
for line in data:
match = pattern.search(line)
if match:
id, gross = match.groups()
gross = gross.replace(',', '')
print('{id}\t{gross}'.format(id=id, gross=float(gross))
.您是否只是试图捕获一行中的第一个美元金额,而忽略其他金额?