我的文本文件如下所示:
['ab initio', 'ab intestato', 'ab intra','a.C.', 'acanka', ...]
我想将用逗号分隔的每个单词分解为一个列表。所以它看起来像list1.append(line.strip())
还要注意新行上的单词不以逗号结尾。
我用的时候
list1=[]
filepath="words.txt"
with open(filepath, encoding="utf8") as fp:
line = fp.readline()
while line:
list1.append(line.strip(','))
line = fp.readline()
它给了我每一行的字符串而不是单独的单词。有人能为我提供一些见解吗?
以下完整代码:
{{1}}
答案 0 :(得分:5)
非常接近,但我认为您需要split
代替strip
,而extend
代替append
您还可以使用for循环直接遍历这些行。
list1=[]
filepath="words.txt"
with open(filepath, encoding="utf8") as fp:
for line in fp:
list1.extend(line.strip().split(', '))
答案 1 :(得分:0)
您可以使用您的代码来获取“行列表” - 内容并申请:
cleaned = [ x for y in list1 for x in y.split(',')]
这基本上将您解析的任何内容都放入列表中并将其拆分为,
以创建新列表。
sberrys所有在一个不使用中间列表的解决方案中更快。