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

Python 从文件中分隔的逗号项创建列表,python,nltk,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 i

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

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)
您可以使用csv模块

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

ca1, ca2, ca3
上述代码也适用于多行文件


您可以阅读有关
csv
模块的更多信息。

如果您的数据文件非常简单,您可以只
拆分

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

如果数据项中可能有逗号(如
ca1,“ca,2”,ca3
),则应使用
csv
模块正确解析它,如@JoãoGFarias的回答中所示。

新文本文件是否只有一行以逗号分隔的值,或者它可以有几行?@Stuart只有一行hi,我得到这个:属性错误:“module”对象没有属性“reader”“可能只是导入的配置问题。我编辑了代码,请立即尝试。如果再次出现错误,请确保您拥有cvs模块。在Python控制台上键入importcvs。我很确定它是标准库的一部分,但也许你没有。@JoãoGFarias它是
csv
而不是
cvs
,是的,它是stdlib的一部分-我猜OP在导入csv方面没有问题,但是他们后来做了
csv=something
,正是
csv
对象引发了
AttributeError
,因为它不再是对moduleYeah@JonClements的引用,你是对的;打字错误代码在我的机器上运行正常,我不明白它对何塞不起作用。也许他的Python路径在某种程度上有所不同。安装该语言时,标准库会自动链接到Python路径上。无论如何,代码正确地打印了结果:)@JoãoGFarias我只是测试导入csv模式,它工作正常,但是如果它来自csv导入读取器,我会得到导入csv的回溯,并且无法导入名称读取器。。。
with open('fileids2.txt', 'r') as f:
    genres = [word.strip() for word in f.next().split(',')]