如何删除lis中单词和数字的双引号

2024-03-28 19:02:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有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)

如何在添加到列表之前删除双引号?你知道吗


Tags: 文件txtnumber列表dataline单词word
3条回答

使用list-comprehension尝试此操作:

a = ['"word"', '"word2"', 'number', 'number2', '"number3"']
vals = [i[1:-1] if i[0] == '\"' else i for i in a]
...
parts = [x.replace('"', '') for x in line.strip().split(',')]
...

另一种方法是:

import re

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

输出:

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

相关问题 更多 >