将 unicode 字符编码为 un​​icode 转义序列

Seb*_*aye 6 python django unicode json iconv

我有一个包含站点和地址的 CSV 文件。我需要处理这个文件以生成一个 json 文件,我将在 Django 中使用该文件将初始数据加载到我的数据库中。为此,我需要将 CSV 文件中的所有特殊字符转换为 unicode 转义字符。

下面是一个例子:

Örnsköldsvik;SE;Ornskoldsvik;Ångermanlandsgatan 28 A
Run Code Online (Sandbox Code Playgroud)

它应该转换为:

\u00D6rnsk\u00F6ldsvik;SE;Ornskoldsvik;\u00C5ngermanlandsgatan 28 A
Run Code Online (Sandbox Code Playgroud)

以下站点正在执行我期望的转换:http : //itpro.cz/juniconv/ 但我想找到一种从命令行 (bash) 或在 python 中执行此操作的方法。我已经尝试使用iconv,uconv以及一些没有真正成功的 python 脚本。

juniconv网站背后运行着什么样的脚本?

非常感谢您的任何建议。

jfs*_*jfs 3

如果你想在Python中获得类似于Java的Unicode转义;你可以使用 JSON 格式

\n\n
>>> import json\n>>> import sys\n>>> s = u\'\xc3\x96rnsk\xc3\xb6ldsvik;SE;Ornskoldsvik;\xc3\x85ngermanlandsgatan 28 A\'\n>>> json.dump(s, sys.stdout)\n"\\u00d6rnsk\\u00f6ldsvik;SE;Ornskoldsvik;\\u00c5ngermanlandsgatan 28 A"\n
Run Code Online (Sandbox Code Playgroud)\n\n

还有unicode-escape编解码器,但你不应该使用它:它会产生 Python 特定的转义(Python Unicode 字符串文字的样子):

\n\n
>>> print s.encode(\'unicode-escape\')\n\\xd6rnsk\\xf6ldsvik;SE;Ornskoldsvik;\\xc5ngermanlandsgatan 28 A\n
Run Code Online (Sandbox Code Playgroud)\n