Python:写入csv

时间:2016-03-09 18:21:06

标签: python csv python-3.x

我正在尝试编写一个将读取文档的脚本,并将每个文档的每个唯一字的总数写入csv。我能够打开并阅读每个文档(来自“doc_list”),以及生成每个单词的频率(存储在“word_frequencies”中)。我遇到的问题是将其写入csv 我需要顶部列是唯一的单词(我生成了“corpus_tokens”,其中包含任何文档中的所有单词),第一行是每个文档的名称(“doc_list”)。然后我需要填写频率(“word_frequencies”)。

有人知道怎么做吗?
谢谢。

修改

当前(极其错误的)代码:

import csv

def unigramgen(self, name):
    '''
    test function to generate unigram tables
    ::
    '''
    print ("check 1")
    docstats = MACdoc()
    prints('Opening', name + '.csv')
    write_csv = csv.writer(open(name + ".csv", "w"), lineterminator='\n')
    doc_name = os.listdir(os.getcwd())
    col_names = ['Doc Name']
    for i in docstats.corpus_types():
        col_names.append(i)
    print ("check 2")
    write_csv.writerow(col_names + '\n')

    i = 0

    prints('Writing data to table...')
    print ("check 3")
    for document in self.document_list:
        prints('Writing data for', document, '...')
        name = doc_name

        freqs = docstats.wordfreq[i, :]
        freqs = [str(freq) for freq in freqs]

        row = name + freqs

        write_csv.writerow(row + '\n')

        i += 1
    print ("check 4")
    return True

*注意:MACdoc是一个创建单词频率的类(在许多其他内容中)。它是由其他人为不同的项目创建的,但看起来效果很好。

0 个答案:

没有答案