将包含Unicode的字符串列转换为ascii以加载URL

2024-10-03 15:25:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含Wikipedia url的列的pandas数据框,我想加载它。但是,有些字符串无法加载,因为它们包含Unicode。例如,“Kruskal%E2%80%93Wallis\u单向方差分析”提出了以下问题

PageError: Page id "Cauchy%E2%80%93Schwarz_inequality" does not match any      pages. Try another id!

有没有办法把所有的Unicode码转换成ascii码?所以在这种情况下,我需要一个可以创建新列的函数:

old column                            new column
Cauchy%E2%80%93Schwarz_inequality     Cauchy–Schwarz_inequality
Markov%27s_inequality                 Markov's_inequality

Tags: 数据字符串idurlpandasmatchpageunicode
1条回答
网友
1楼 · 发布于 2024-10-03 15:25:51

urllib.parse.unquote应该可以。希望这有帮助。你知道吗

In [1]: import urllib
   ...: 
   ...: import pandas as pd
   ...: 
   ...: 
   ...: df = pd.DataFrame({'url': ['Markov%27s_inequality', 'Cauchy%E2%80%93Schwarz_inequality']})
   ...: df['clean_url'] = df['url'].apply(urllib.parse.unquote)
   ...: 

In [2]: df
Out[2]: 
                                 url                  clean_url
0              Markov%27s_inequality        Markov's_inequality
1  Cauchy%E2%80%93Schwarz_inequality  Cauchy–Schwarz_inequality

相关问题 更多 >