从文件中的分隔逗号项创建列表

时间:2015-01-18 10:15:41

标签: python nltk

您好我有以下脚本,但是这个脚本正在以这种方式检索文件中的项目

ca1
ca2
ca3

我的新文本文件是这样的

ca1,ca2,ca3

所以这是我的脚本我修改的内容是什么?

with open('fileids2.txt', 'r') as f:
genres=[line.strip() for line in f]  

freq = nltk.ConditionalFreqDist(
 (genre, m)
  for genre in brown.fileids()
  for m in brown.words(fileids=genre))

adj = ["new", "such", "own","good",]
freq.tabulate(conditions=genres, samples=adj)

2 个答案:

答案 0 :(得分:0)

您可以使用 csv 模块。

from csv import reader
with open('fileids2.txt', 'r') as f:
     words= reader(f, delimiter=',', quotechar='|')
     for word in words:
         print ','.join(word)

这将在文件写入时输出文件中的行:

ca1, ca2, ca3

上述代码也适用于多行文件。

您可以详细了解csv模块here

答案 1 :(得分:0)

如果您的数据文件非常简单,您只需split该行。

with open('fileids2.txt', 'r') as f:
    genres = [word.strip() for word in f.next().split(',')]

如果数据项中可能存在逗号(例如ca1, "ca, 2", ca3之类的内容),则应使用csv模块正确解析它,如@JoãoGFarias的答案。