如何从列表中的单词和数字中删除双引号

时间:2016-11-30 17:02:38

标签: python python-2.7

我有一个51,823文件中的.txt行。文本文件中的每一行都如下所示:

"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)

如何在追加到列表之前删除双引号?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

使用list-comprehension

尝试此操作
a = ['"word"', '"word2"', 'number', 'number2', '"number3"']
vals = [i[1:-1] if i[0] == '\"' else i for i in a]

答案 2 :(得分:0)

实现这一目标的另一种方法:

import re

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

<强>输出:

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