【发布时间】:2020-04-24 18:51:46
【问题描述】:
我想为自己编写一个简单的词典程序,将未知的英语单词和含义存储在一个 csv 文件中,每次我运行该程序时,它都会将所有英语单词打乱并让我输入正确的土耳其语翻译。我试图读取我的 csv 文件进行测试,但它无法识别土耳其字符。 (如下所示)我在 open() 函数中添加了 encoding='utf-8' 参数。我该怎么办?
我可以尝试其他解决方案,而不是从 csv 文件中读取它,我是 python 新手,对读取文件知之甚少。
代码:
import csv
english_words = []
turkish_words = []
with open('all_words.csv' , encoding='utf-8') as words_csv:
words = csv.DictReader(words_csv)
for row in words:
english_words.append(row['english'])
turkish_words.append(row['turkish'])
print(english_words)
print(turkish_words)
输出:
['immersion', 'brow', 'intact', 'snort', 'demented', 'supper', 'envy', 'unconventional', 'improvise', 'indulge', 'slumber', 'itenarary', 'occasional', 'aberrant', 'grotesque', 'mettle', 'rind', 'inconsistencies', 'repetitions', 'cease', 'errands', 'pluck', 'cruel', 'reveries', 'decommission', 'mischief']
['dald²rma', 'ka■', 'bozulmam²■', 'homurdanma', 'Bunak', 'ak■am yemei', 'imrenme', 'al²■²lmad²k', 'doalama', '■²martmak', 'uyuklama', 'yol k²lavuzu', 'nadiren', 'anormal', 'grotesk', '■evk', 'd²■ y³zey', 'tutars²zl²klar ', 'tekrarlar²', 'durdurmak', 'ayak i■leri', 'yolmak', 'zalim', 'h³lyalar', 'faaliyetine son', 'yarmazl²k']
我的 csv 文件示例:
english,turkish
immersion,daldırma
brow,kaş
intact,bozulmamış
snort,homurdanma
demented,Bunak
supper,akşam yemeği
envy,imrenme
unconventional,alışılmadık
improvise,doğaçlama
indulge,şımartmak
slumber,uyuklama
itenarary,yol kılavuzu
occasional,nadiren
aberrant,anormal
grotesque,grotesk
mettle,şevk
rind,dış yüzey
inconsistencies,tutarsızlıklar
repetitions,tekrarları
cease,durdurmak
errands,ayak işleri
pluck,yolmak
cruel,zalim
reveries,hülyalar
decommission,faaliyetine son
mischief,yarmazlık
【问题讨论】:
-
我猜你的输入文件不是 UTF-8 编码的……
-
试图在 excel 中更改它,保存为 UTF-8 csv 文件,现在我在尝试读取时遇到 KeyError。
-
请显示您的 CSV 样本(转换为 UTF-8 后)。将其添加到问题中。
-
照你说的做了@Błotosmętek