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

3

我有一个包含 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)

我应该如何在将内容添加到列表中时去除双引号?

parts = [word.strip('"') for word in line.strip().split(',')] - Gosha F
2
使用 csv 模块读取此文件。它应该自动去除引号。 - furas
3个回答

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

1
尝试使用列表推导来实现这个功能:
a = ['"word"', '"word2"', 'number', 'number2', '"number3"']
vals = [i[1:-1] if i[0] == '\"' else i for i in a]

谢谢您回复,Jarvis :) - rsmalley74
如果您喜欢我的方法,请点赞 :) @rsmalley74 - Jarvis
1
完成。谢谢 Jarvis。 - rsmalley74

0

另一种实现方法:

import re

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

输出:

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

谢谢ettanany!你们比我擅长这个多了! - rsmalley74

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接