2016-11-30 79 views
3

我從.txt文件中有51,823行。在文本文件中的每一行看起來是這樣的:如何從列表中的單詞和數字中刪除雙引號

"word","word2",number,number2,"number3" 

我已經剝離並在每行拆分成單獨列出了這個樣子:

['"word"', '"word2"', 'number', 'number2' '"number3"'] 

所有詞都用雙引號和一些數字有雙引號。我想刪除所有的雙引號,所以我的名單看起來是這樣的:

['word', 'word2', 'number', 'number2', 'number3'] 

這是代碼:

file = open('somefile.txt', 'r') 
data = [] 
for line in file: 
    parts = line.strip().split(',') 
    data.append(parts) 

如何追加到列表之前刪除雙引號?

+0

'份= [word.strip( '「') F或line.strip()中的單詞。split(',')]' –

+2

使用'csv'模塊讀取此文件。它應該自動刪除報價。 – furas

回答

4
... 
parts = [x.replace('"', '') for x in line.strip().split(',')] 
... 
+0

就是這樣!謝謝羅馬! – rsmalley74

0

的另一種方法來實現的是:

import re 

l = ['"word"', '"word2"', 'number', 'number2', '"number3"'] 
res = re.findall('\w+', ' '.join(l)) 

輸出:

>>> res 
['word', 'word2', 'number', 'number2', 'number3'] 
+0

謝謝ettanany!你們比我好得多! – rsmalley74

1

嘗試此使用list-comprehension

a = ['"word"', '"word2"', 'number', 'number2', '"number3"'] 
vals = [i[1:-1] if i[0] == '\"' else i for i in a] 
+0

謝謝你回覆Jarvis :) – rsmalley74

+0

如果你喜歡我的方法,請做出回覆的答案:) @ rsmalley74 – Jarvis

+1

完成。謝謝Jarvis。 – rsmalley74