Pandas:如何读取html并将所有字段转换为字符串

2024-06-17 10:32:41 发布

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

如果我导入this HTML file

pd_df = pd.read_html('./output.html')
pd_df[0]

最后一个字段变为浮点,但它是一个字符串(例如从052695269.0)。我知道我可以应用pd_df = pd.read_html('./output.html',converters={'CAP': str}),但我的问题是:有没有一种方法可以使用read_html将str强制转换全局应用于所有字段

因为这是一个示例文件,所以这是一个简单的示例,但通常我有很多字段,全局选项非常好


Tags: 字符串示例dfreadoutputhtmlthis全局
2条回答

如果我们知道列数:

df = pd.read_html("output.html",converters ={x:str for x in range(5)})[0]

(编辑)

你能做的就是读两遍。一次获取列名,另一次使用转换器确保所有列都被读取为str

url = "https://gist.githubusercontent.com/aborruso/599153968878f452bd3c68f3de0f29c4/raw/1156d224a4290393409ceef285c238c09b6bd08e/input.html"
df = pd.read_html(url)[0]


converters = {c:lambda x: str(x) for c in df.columns}

df = pd.read_html(url, converters=converters)[0]
print(df)
# results in: 

  Beneficiario       Comune    CAP Provincia Importo
0  RNDFNC60E16  RIPACANDIDA  85020   POTENZA   09269
1  RNDFNC60E16          NaN    NaN   POTENZA   05269

print(df.dtypes) 
# results in : 
Beneficiario    object
Comune          object
CAP             object
Provincia       object
Importo         object
dtype: object

相关问题 更多 >