我正在使用以下代码将gensim
w2v文件转换为Tensorboard
tsv文件:
with open(outfiletsv, 'w+b') as file_vector:
with open(outfiletsvmeta, 'w+b') as file_metadata:
for word in model.index2word:
file_metadata.write(gensim.utils.to_utf8(word) + gensim.utils.to_utf8('\n'))
vector_row = '\t'.join(str(x) for x in model[word])
file_vector.write(vector_row + '\n')
它会导致以下错误:
^{pr2}$我将b
添加到打开文件片段中的原始w+
以抵消相反的问题(TypeError: write() argument must be str, not bytes
)。在
我试着加上'vector_row=vector_行编码('UTF-8'),但这不起作用。在
我该如何补救TypeError
?在
您只需将字符串转换回字节:
但是,您的代码已经以字节的形式读取文件,然后使用以下命令显式转换为str(我猜):
'\t'.join(str(x) for x in model[word])
因此,您可能需要清理并在任何地方使用字节,而不是来回移动:)
相关问题 更多 >
编程相关推荐