关于python:如何将Pandas Dataframe与无效字符(重音符)匹配到数组?

How can I match a Pandas Dataframe with invalid characters (accents) to an array?

本问题已经有最佳答案,请猛点这里访问。

我一直在尝试使用python 3中的pandas数据框来查找与csv文件中的名称匹配的特定ID。我正在阅读的API给了我一个名字Ant_nio,以及其他名字,我需要它的方式,在一个名为"First"的列中使用重音。我有一系列的名字,不一定有所有的口音我需要匹配。这个程序似乎适用于我尝试的每个名称,除了那些对重音字符有不同值的名称。

1
2
3
4
5
6
7
8
9
10
11
import pandas as pd

nameArray=[Antonio,Matt,Mark,Raul]
playersUrl = 'https://www.FakeSite.com/players'
playerData = pd.read_csv(playersUrl, names=["PLAYERID","FIRSTNAME"]

for first, playerid in zip(playerData["FIRSTNAME"],playerData["PLAYERID"]):
    for i in len(nameArray):
        testName = nameArray[i]    
        if first == testName:
            return playerid


如果要在不带音调符号的情况下进行比较,请参阅上一个so post here:

Unidecode is the correct answer for this. It transliterates any unicode string into the closest possible representation in ascii text.