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(...
我可以蠻力,但「...」是我在尋找一些指導。此外,第一部分可能也可以更有效地完成。
任何幫助,非常感謝。