尝试跳过列表中的 unicode 值以写入树视图

问题描述

我正在尝试将数据从 Strava 写入树视图,但是,写入时我会收到错误

_tkinter.TclError: character U+1f1e8 is above the range (U+0000-U+FFFF) allowed by Tcl

我意识到这是由于有人在他们的骑行名称中使用了表情符号。我编写的代码仅跳过某些 Unicode 值而不跳过其他值。我的代码如下所示:

    count = 0
    distanceM = 0
    distanceML = 0
    elevationM = 0
    elevationFT = 0
    full_name = ""
    for row in strava.get_children():
        strava.delete(row)


    auth_url = "https://www.strava.com/oauth/token"
    activites_url = "https://www.strava.com/api/v3/clubs/2885/activities"

    payload = {
        'client_id': "XXXXX",'client_secret': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','refresh_token': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','grant_type': "refresh_token",'f': 'json'
    }
    res = requests.post(auth_url,data=payload,verify=False)
    access_token = res.json()['access_token']
    ride_name = ""
    header = {'Authorization': 'Bearer ' + access_token}
    param = {'per_page':200,'page':1}
    my_dataset = requests.get(activites_url,headers=header,params=param).json()

    for i in range (0,len(my_dataset)):
        entry = 1
        strava.tag_configure('odd',background = "#fc4d03")
        strava.tag_configure('even',background = 'white')
        full_name = str(my_dataset[i]["athlete"]["firstname"])+ " " + str(my_dataset[i]["athlete"]["lastname"])
        distanceM = int(my_dataset[i]["distance"])
        distanceML = distanceM * 0.000621371
        distanceML = '%.2f'%(distanceML)
        elevationM = int(my_dataset[i]["total_elevation_gain"])
        elevationFT = elevationM * 3.28084
        elevationFT = '%.0f'%(elevationFT)
        ride_name = (my_dataset[i]["name"])
        try:
            ride_name.encode('ascii')
        except UnicodeEncodeError:
            entry = 0
        if entry == 1:
            if count%2 == 0:
                strava.insert("","end",text="",values=(full_name,my_dataset[i]["name"],distanceML,elevationFT),tag = ('even',))
            else:
                strava.insert("",tag = ('odd',))

            count = count+1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)