python - UT8 问题 - 有没有办法在 Python 中将看起来奇怪的字符 à 转换为正确的德语字符 ä ?

标签 python utf-8 diacritics

我有一个 .txt 文件,其中应包含德语变音符号,例如 ä、ö、ß、ü。但是,这些字符并不是这样显示的,而是显示为 ¤ 代替 ä,à 代替 Ü 等等。发生这种情况是因为 .txt 文件以 ANSI 编码存储。现在,当我在 SAS (DataStep) 或 Python(使用 .read_csv)中导入此文件(将相应的列作为字符串)时,这些奇怪的字符会出现在 .sas7bat 和 Python DataFrame 中,而不是像 ä 这样的正确字符,ö,ü,ß。

解决此问题的一个解决方法是 -

  1. 在标准记事本中打开文件。
  2. 按“另存为”,然后会出现一个窗口。
  3. 然后在下拉菜单中将编码更改为 UTF-8。

现在,当您在 SAS 或 Python 中导入文件时,所有内容都会正确导入。

但是,有时我拥有的 .txt 文件非常大(以 GB 为单位),因此我无法打开它们并执行此 hack 来解决此问题。

我可以使用 .replace() 函数,将这些奇怪的字符替换为真实的字符,但可能存在一些我不知道的奇怪字符的组合,这就是我希望避免这种情况的原因。

是否有任何 Python 库可以自动将这些奇怪的字符翻译成正确的字符 - 例如 ¤ 被翻译为 ä 等等?

最佳答案

您是否尝试使用编解码器库?

import codecs
your_file= codecs.open('your_file.extension','w','encoding_type')

关于python - UT8 问题 - 有没有办法在 Python 中将看起来奇怪的字符 à 转换为正确的德语字符 ä ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038539/

相关文章:

string - Node.js 无法解码字符串..字符乱码(问号)

c# - 我如何在 .NET 中替换口音(德语)

objective-c - 有没有办法使用 NSString stringByFoldingWithOptions 将单个法语字符 'œ' 展开为 'oe' ?

java - XML 公共(public)标识符中无法识别波浪号

python - 字符串清理

python - 从数组列表中查找唯一代表(元素)的列表

python - WebDriverException : Service U:/Scraping/chromedriver. exe 意外退出。状态代码为:1,同时使用 Chrome 和 Python

java - 如何使用 JAVA 显示以其他语言(如乌尔都语、西类牙语等)保存的单词(在数据库中)。

jquery - 不区分重音的正则表达式

python - 对象到 Python 中的字符串