如何识别不同的 csv 编码?

How to recognise different csv encodings?

我不确定它是否与编码本身有关,但这是我的问题;

import csv

with open('vocabulary.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)
    for line in csv_reader:
        print(line)

我希望它打印这个:

但是它不识别任何日文字符,而是想出了

['1', '\x1b$B0l$D\x1b(B', '\x1b$B$R$H$D\x1b(B', 'one']
['2', '\x1b$BFs$D\x1b(B', '\x1b$B$U$?$D\x1b(B', 'two']
['3', '\x1b$B1_\x1b(B', '\x1b$B$($s\x1b(B', 'yen']
['4', '\x1b$B6b\x1b(B', '\x1b$B$+$M\x1b(B', 'money']
['5', '\x1b$B$l\x1b(B', '\x1b$B$l\x1b(B', 'this']
['6', '\x1b$B?eMKF|\x1b(B', '\x1b$B$$$h$&$S\x1b(B', 'Wednesday']
['7', '\x1b$B$"$l\x1b(B', '\x1b$B$"$l\x1b(B', 'that']
['8', '\x1b$B@h\x1b(B', '\x1b$B$-\x1b(B', 'ahead']

我在 csv 文件上使用的编码是 ISO2022。我的问题是,有没有办法让它正确显示?

file = open('vocabulary.csv', 'r', encoding='ISO2022')

或尝试

line.decode('ISO-2022-JP')