辞書はこのように書式化されています:キーはドキュメント番号とキーワードのタプルで、値はドキュメント内のキーワードの頻度です。したがって、キーは(document1、keyword1)、(document1、keyword2)、(document1、keyword3)、 document3、keyword2)、(document3、keyword3)であり、値はnumberです。もちろんこれは小さな辞書です。私は、このソリューションを大量の文書とキーワードに適用したいと考えています。概念:辞書結果の2DマトリックスをPythonのCSVファイルに書き込む
辞書は、このようなとして作成されました:
document_count = {}
try:
for doc in document_id_list:
indiv_doc = # records selected from a database
for w in words:
document_count.setdefault((doc, w), 0)
for entry in #unsorted list of text tokenized, set to lower case, and stripped of stop words:
if entry == w and (doc, entry) in document_count:
document_count[(patent, entry)] += 1
return document_count
except Exception, e:
print "create claim storages"
print str(e)
pass
私は2D行列のようなCSVに結果を書きたかったです。少なくとも、それは私がそれがどのように描かれているのか見てきたものです。
keyword1 keyword2 keyword3
document1 number number number
document2 number number number
document3 number number number
python.orgと、このサイト上の他の質問、私はこれであるために得ていることに最も近い上のCSV機能のドキュメントを見てみると:
document1 keyword1 number
document1 keyword2 number
document1 keyword3 number
document2 keyword1 number
document2 keyword2 number
document2 keyword3 number
document3 keyword1 number
document3 keyword2 number
document3 keyword3 number
これは、そのIコードからの結果であります
with open(os.path.join('C:/Users/Tara/PyCharmProjects/untitled/csv_results/', file_name),
'wb') as csvfile:
w = csv.writer(csvfile)
for key, value in available_dict.items():
separate_keys = list(key)
w.writerow([separate_keys[0], separate_keys[1], value])
解決策の多くにはリストの理解が含まれていることに気付きましたが、正しいif文がどのようなものかわかりません。辞書を書くときやCSVファイルに書き込むときに変更を加えますか?