Python 使用wikipedia表刮刀时的编码问题

Python 使用wikipedia表刮刀时的编码问题,python,pandas,Python,Pandas,我正试图将这些表从维基百科页面导入熊猫,但是,我面临着多个编码问题,不知道如何解决它们 import wikipedia as wp import numpy as np import pandas as pd wiki_page = 'Climate_of_Italy' html = wp.page(wiki_page).html() def dataframe_cleaning(table_number=int): global html df = pd.read_htm

我正试图将这些表从维基百科页面导入熊猫,但是,我面临着多个编码问题,不知道如何解决它们

import wikipedia as wp
import numpy as np
import pandas as pd

wiki_page = 'Climate_of_Italy'
html = wp.page(wiki_page).html()

def dataframe_cleaning(table_number=int):
    global html
    df = pd.read_html(html, encoding='utf-8')[table_number]
    df.drop(np.arange(5, len(df.index)), inplace=True)
    df.columns = df.columns.droplevel()
    
    find = '\((.*?)\)'
    for i, column in enumerate(df.columns):
        if i>0:
            df[column] = df[column].replace(u'\u2212', '-')
            df[column] = (df[column]
                          .str.findall(find)
                          .map(lambda x: np.round((float(x[0])-32)* (5/9), 2)))
    return df

florence_df = dataframe_cleaning(6)
florence_df
我当前遇到的错误是:

ValueError:无法将字符串转换为浮点:'−9.8'

我理解
'−' != '-'pd.read_html()
,但后来遇到了类似的问题

我知道这可能是一个简单的问题,但我不知道如何解决它

提前谢谢你

更新: 问题已经得到了回答,但@baduker还指出,替换可以直接在html上完成:

import wikipedia as wp
import numpy as np
import pandas as pd

wiki_page = 'Climate_of_Italy'
html = wp.page(wiki_page).html().replace(u'\u2212', '-')
不知道以下选项可用。相信这会更好,因为它可以一次执行。

df[column]。替换(u'\u2212','-'))

仅当整个值正好为
u'\u2212'
时,此选项才会替换。您想使用
df[column].str.replace来代替。

最伟大的掌心时刻。非常感谢你!我是如此专注于一个更大的问题,以至于我完全忘记了一些小事情哈哈