2
说我有文本字符串是这样的:的Python /正则表达式 - 解析文本描述的最佳方式
- 富士通LifeBook E734 13.3" 2.5GHz的酷睿i5/4GB内存/ 500GB SSHD像新的一样
- 的Mac Pro,早2009年4核2.66GHz的英特尔至强/ 16GB RAM/1Tb的HD
我想解析成品牌,型号,处理器,屏幕尺寸,高清大小,RAM,条件
我想知道,什么是最pythonic方式来分析这些字符串?
目前,我做了以下内容:
- 遍历计算机的静态列表的品牌和型号
- 如果匹配的话,那些拉出来的字符串
- 分割字符串按“”和“/”。
- 使用
is x in y
至:- 找'“和 ”“。找到大小
- 寻找 ”GHz的“ 找处理器速度
- 查找 'MB',”千兆”, 'T'
下面是一些示例代码:
import re
data={}
complist = {'make':['Apple','Toshiba','HP', 'Fujitsu'...],
'model':['Air','Surface','Zenbook','Lifebook','Mac Pro',...],
'condition':['New','Used','Refurbished'...]}
string = 'Fujitsu LifeBook E734 13.3" i5 2.5GHz/4Gb RAM/500Gb SSHD Like NEW'
for comparison in complist :
for compare in complist[comparison]:
if compare in string:
data[comparison]=compare
string = string.replace(compare, '')
stringsplit=re.findall(r"[\w']+", string)
for i,s in enumerate(stringsplit):
if any(key in s for key in ['Mb','Gb','Tb']):
...
data['Ram']=...
if any(...
我可以蛮力,但“...”是我在寻找一些指导。此外,第一部分可能也可以更有效地完成。
任何帮助,非常感谢。