首页 > 解决方案 > 使用 pd.read_csv 问题对两种不同的语言进行编码

问题描述

我正在构建一个从德语到阿拉伯语的神经机器自动翻译器。我正在阅读一个 CSV 文件,其中包含德语句子及其相应的阿拉伯语翻译。我想同时阅读两种语言pd.read_csv我已经尝试了此Python 文档中所有语言的所有代码,但没有一个有效。

所有语言的别名编码

唯一对我最有效的是:

df = pd.read_csv("DLATS.csv", encoding ='windows-1256')

'windows-1256' 是阿拉伯语的编码别名。但问题是它没有捕捉到德语特殊字符,如 (ä),而是将它们转换为问号 (?)。所以drängte这个词变成了dr?ngte。

那么,谁能帮我解决这个问题或如何解决它?我曾想过将德语和阿拉伯语句子分隔在单独的 CSV 文件中,以便每个 CSV 文件仅包含一行,然后也许我会尝试将它们混合在 Python 代码中。但似乎pd.read_csv至少需要 CSV 文件中的两列才能工作。

更新:我注意到原始 csv 文件也包含德语的这些问题。因此,由于原始文件在 Excel 中,我终于通过直接读取 excel 而不是 csv 来解决我的问题,所以我使用 pd.read_excel 没有任何编码属性并且效果很好。之前我不知道 pandas 有 pd.read_excel。

标签: pythonpandascsvnlpmachine-translation

解决方案


就我而言,我使用 clear read_csv

import pandas as pd

df = pd.read_csv('download.csv')
print(df)

   german      arabic
0  drängte     حث

如果您得到不好的结果,则数据可能未正确保存在 csv 中。


推荐阅读