匹配txt文件中的每个单词

2024-10-04 01:32:26 发布

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

我正在研究一个欧拉问题(为了好玩)。 它附带一个46kbtxt文件,其中包含一行,其中包含超过5000个名称的列表,格式如下:

"MARIA","SUSAN","ANGELA","JACK"...

我的计划是编写一个方法来提取每个名称并将它们附加到Python列表中。正则表达式是解决这个问题的最好武器吗?
我查阅了Pythonredoc,但是很难找到正确的正则表达式。你知道吗


Tags: 文件方法名称列表格式附带计划jack
3条回答

如果你能做得更简单,那就做得更简单。无需使用csv模块。我不认为5000个名字或者46KB就足够让人担心了。你知道吗

names = []
f = open("names.txt", "r")

# In case there is more than one line...
for line in f.readlines():
    names = [x.strip().replace('"', '') for x in line.split(",")]

print names
#should print ['name1', ... , ...]

如果文件的格式和你说的一样,即

  1. 这是单行线
  2. 格式如下:“玛丽亚”,“苏珊”,“安吉拉”,“杰克”

那么这就行了:

>>> import csv
>>> lines = csv.reader(open('words.txt', 'r'), delimiter=',')
>>> words = lines.next()
>>> words
['MARIA', 'SUSAN', 'ANGELA', 'JACK']

这看起来像是csv模块可以使用的格式。那你就不用写正则表达式了。你知道吗

相关问题 更多 >