Hier sind zwei Möglichkeiten, um den Zeichencode einer Datei mit Python3 zu konvertieren.
Dieses Mal habe ich eine CSV-Datei mit dem Zeichencode "shift-jis" und ich werde den Code schreiben, um ihn in "utf-8" zu konvertieren.
Sie können Dateien lesen und schreiben, indem Sie den Zeichencode mit Codecs angeben.
utf8_test1.py
# -*- coding:utf-8 -*-
import codecs
def main():
# Shift_JIS-Dateipfad
shiftjis_csv_path = './download/shift_jis_data.csv'
# UTF-8 Dateipfad
utf8_csv_path = './download/utf8_data.csv'
#Zeichencode utf-In 8 konvertieren und speichern
fin = codecs.open(shiftjis_csv_path, "r", "shift_jis")
fout_utf = codecs.open(utf8_csv_path, "w", "utf-8")
for row in fin:
fout_utf.write(row)
fin.close()
fout_utf.close()
if __name__ == '__main__':
main()
Sie können den Zeichencode konvertieren, indem Sie den Befehl nkf von Python aus aufrufen.
utf8_test2.py
# -*- coding:utf-8 -*-
import subprocess
def main():
# Shift_JIS-Dateipfad
shiftjis_csv_path = './download/shift_jis_data.csv'
# UTF-8 Dateipfad
utf8_csv_path = './download/utf8_data.csv'
cmd = "nkf -w %s > %s" % (shiftjis_csv_path, utf8_csv_path)
subprocess.call(cmd, shell=True)
if __name__ == '__main__':
main()
Nkf ist jedoch keine Python-Funktion, daher muss nkf im Voraus installiert sein.
$ brew install nkf
Recommended Posts