python-3.x - 尝试跳过列表中的 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("", "end", text="", values=(full_name,my_dataset[i]["name"],distanceML,elevationFT), tag = ('odd',))
count = count+1
解决方案
推荐阅读
- java - 如何在 docx4j pdf 生成中删除签名“## 评估仅使用 ##”?
- magento2 - Magento 2 块模板路径
- json - 在 MVC 中使用 Json 时清除会话值
- dependency-injection - 在容器中创建服务以将依赖项注入类的问题
- arangodb - ArangoJS collection.save() 的返回值是多少?
- c++ - 使用点云库 (PCL) 时的 Boost 问题
- javascript - 放置在两个不同选项卡中的同一类上的 jQuery 切换功能不起作用
- php - 本地主机上的 PhpStorm Laravel 社交名流重定向
- javascript - 如何在 Gmap3 中添加多个标记?
- opencv - 如何使用 NDK 进行面部检测和识别解决 Missing Libary 错误