我想将文本文件转换为csv文件,但是,我的输出似乎与预期的非常不同。下面是示例:
text.txt(编码为“ UTF-8”)
text =
-0.00010712468871868001 gram_0:Coll:0::ん
-0.00010712468871868001 gram-1:Coll:-1::止まる
-0.00010712468871868001 gram-3:Coll:-3::帰る
-0.00010712468871868001 gram1:Coll:0::ん
-0.00010712468871868001 gram2:Coll:2::いく
-0.00010712468871868001 gram3:Coll:3::く
我的代码:
import csv
with open('text.txt', 'r', encoding="utf-8") as in_file:
stripped = (line.strip() for line in in_file)
lines = (line.split(",") for line in stripped if line)
with open('log.csv', 'w', encoding="utf-8") as out_file:
writer = csv.writer(out_file)
writer.writerow(('title', 'intro'))
writer.writerows(lines)
输出:
我的预期输出:
日语字符似乎越来越多。有人可以帮我吗?
答案 0 :(得分:0)
Windows使用BOM表确定文本的编码,但是Python似乎无法自动生成BOM表,Windows可能会将输出文件识别为ANSI。尝试在内部out_file.write('\ufeff')
之后直接添加with
。
来源:Adding BOM (unicode signature) while saving file in python