日文字符的文本到 csv 文件(排列错误)
text to csv file for japanese characters(Errors in arrangements)
我想将我的文本文件转换为 csv 文件,但是,我的输出似乎与我的预期大不相同。以下是示例:
text.txt(编码为"UTF-8")
文字=
-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)
输出:
enter image description here
我的预期输出:
enter image description here
日文的字我好像学了不少.......谁能帮我解决这个问题?
Windows 使用 BOM 来确定文本的编码,但是 Python 似乎不会自动生成 BOM,并且 Windows 可能会将输出文件识别为 ANSI。尝试在内部 with
.
之后直接添加 out_file.write('\ufeff')
来源:Adding BOM (unicode signature) while saving file in python
我想将我的文本文件转换为 csv 文件,但是,我的输出似乎与我的预期大不相同。以下是示例:
text.txt(编码为"UTF-8")
文字=
-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)
输出:
enter image description here
我的预期输出:
enter image description here
日文的字我好像学了不少.......谁能帮我解决这个问题?
Windows 使用 BOM 来确定文本的编码,但是 Python 似乎不会自动生成 BOM,并且 Windows 可能会将输出文件识别为 ANSI。尝试在内部 with
.
out_file.write('\ufeff')
来源:Adding BOM (unicode signature) while saving file in python