2016-11-20 67 views
0

我有一个文本文件,其中包含项目及其属性,我想将它们拆分成列表中的单独项目。例如,这是在文本文件中的一行是这样的:Python:将列表中的项目拆分为多个空格?

Garlic Bread 100g  400kCal  4g   200mg 

我要创建功能,在这里您可以按名称搜索食品项目,通过热量,脂肪,等我知道如何分割他们到我的目标是['Garlic', 'Bread', '100g' '400kCal', '4g', '200mg'],但我的目标是让它像['Garlic Bread 100g', '400kCal', '4g', '200mg']

我用下面的代码,但可以说我输入100克,该程序还输出其他食品不包含'100克'在标题,而是在其他地方(如钠含量)

itemsearch = input("Enter a food item: ") 
itemsearch = [item.strip() for item in itemsearch.lower().split(",")] 
with open("nutriton.txt") as TxtFile: 
    for thing in TxtFile: 
     for item in itemsearch: 
      if item in thing: 
       print(thing) 

对不起,如果我的解释有点混乱。我认为我必须对item [:1]做些什么,但是我需要将列表项正确分开。

回答

0
import re 
line = 'Garlic Bread 100g  400kCal  4g   200mg' 
split_list = re.split(r'\s{2,}', line) 
print(split_list) 

出来:

['Garlic Bread 100g', '400kCal', '4g', '200mg'] 
+0

我需要 '大蒜面包(100克)' 是一个项目,虽然。 –

+0

我更新我的代码 –