如何从文本文件中读取unicode,并使用Python将相应的字符串写入exel文件

时间:2016-12-30 13:03:21

标签: python unicode

我有一个文件,其中包含一个文件中的日语Unicode字符,我想从文件中读取Unicode并将相应的非Unicode字符(字符串)写入另一个文件。

文件中的Unicode是这样的:

\u6C0F\u540D 
\u7BA1\u7406\u8005\u540D
\u4F4F\u6240
\u96FB\u8A71\u756A\u53F7
\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9

实际上,我想从这个unicode生成一个Excel文件,该文件由上述unicode的非Unicode字符组成。

2 个答案:

答案 0 :(得分:1)

如果您有一个名为japanese.txt的文件,其中包含以下内容:

\u6C0F\u540D 
\u7BA1\u7406\u8005\u540D
\u4F4F\u6240
\u96FB\u8A71\u756A\u53F7
\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9

您可以使用以下代码将其添加到openpyxl的Excel文件中:

# -*- coding: utf-8 -*-

from openpyxl import Workbook
import codecs

with codecs.open('japanese.txt', 'r', encoding='utf8') as file:
    s = file.read()

s = s.decode('unicode-escape')

wb = Workbook()

ws = wb.active

ws['A1'] = 42

ws.append([1, 2, 3])

import datetime
ws['A2'] = s

wb.save("sample.xlsx")

答案 1 :(得分:0)

似乎有一个可以为你工作的包unidecode。它很容易做到这一点。例如:

>>> from unidecode import unidecode
>>> print(unidecode(u"\u6C0F\u540D"))
Shi Ming