我有一个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)
如何在追加到列表之前删除双引号?
答案 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']