如何有效地在python中编写csv?

hsh*_*hed 0 python csv

我正在研究大型文档中的tf-idf.我的单词数量超过80,000.我试图在csv文件中写稀疏矩阵.我使用的代码与此处的答案类似如何使用Python将新列添加到CSV文件中?

输出文件太大,超过700 MB,仅约30,000个单词.那么,我的问题是如何有效地编写它?谢谢.

Dvx*_*Dvx 12

您可以使用gzip模块轻松直接编写gzip文件:

import gzip
import csv

f=gzip.open("myfile.csv.gz", "w")
csv_w=csv.writer(f)
for row in to_write :
    csv_w.writerow(row)
f.close()
Run Code Online (Sandbox Code Playgroud)

不要忘记关闭文件,否则生成的csv.gz文件可能无法读取.

您也可以采用更加pythonic的风格:

with gzip.open("myfile.csv.gz", "w") as f :
    csv_w = csv.writer(f)
    ...
Run Code Online (Sandbox Code Playgroud)

这保证了文件将被关闭.

希望这可以帮助.