将全角数字转换为Python中的普通数字

问题描述 投票:0回答:1

我的 Excel 文件中有一个数据(只有 1 列),其中有几个日语字符,后跟全角数字。我想将这些数字转换为正常数字。

いつもありがとう890ございます
忙しい7ー10ー1ところ

有几行是这样的。

我该怎么做才能使这些行看起来像这样:

いつもありがとう890ございます
忙しい7ー10ー1ところ

我尝试这样做,但我不确定这是否应该这样做 喜欢

s = unicodedata.normalize('NFKC', df.to_string())
python pandas cjk python-module-unicodedata
1个回答
0
投票

假设这样一个例子,其中

col1
是要处理的列:

df = pd.DataFrame({'col1': ['いつもありがとう890ございます 忙しい7ー10ー1ところ',
                            'いつもありがとう890ございます 忙しい7ー10ー1ところ'],
                   'col2': [1, 2]
                  })

您可以使用

apply

import unicodedata
from functools import partial

df['col1'] = df['col1'].apply(partial(unicodedata.normalize, 'NFKC'))

变体:

df['col1'] = df['col1'].apply(lambda s: unicodedata.normalize('NFKC', s))

输出:

                            col1  col2
0  いつもありがとう890ございます 忙しい7ー10ー1ところ     1
1  いつもありがとう890ございます 忙しい7ー10ー1ところ     2
© www.soinside.com 2019 - 2024. All rights reserved.