2016-11-20 72 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

我更新我的代碼 –