如何在Pandas DataFrame中正确读取带重音的字符?
解决HTML实体转西班牙语重音字符的问题
你可以使用Python标准库中的html模块解码这些HTML实体,将其转换为对应的带重音字母。具体操作分两种场景:
方法一:批量处理整个DataFrame的字符串列
如果需要统一处理所有包含HTML实体的字符串列,用applymap结合html.unescape即可:
import pandas as pd import html # 读取CSV(保留你的原有读取逻辑) enero2023 = pd.read_csv('/Users/leona/Documents/Presupuestos/Presupuestos C.A/Honduras/Ejecucion/202300.csv', encoding='ISO-8859-1', engine='python', sep=',') # 对所有字符串类型的单元格解码HTML实体 enero2023 = enero2023.applymap(lambda x: html.unescape(x) if isinstance(x, str) else x)
方法二:单独处理指定列
如果仅需处理特定列,直接针对目标列操作:
# 替换为你实际需要处理的列名 target_cols = ['nombre', 'descripcion'] enero2023[target_cols] = enero2023[target_cols].apply(lambda col: col.apply(html.unescape))
补充说明
html.unescape能自动识别并转换绝大多数HTML实体,包括ó→ó、á→á这类西班牙语重音字符。- 该方法无需额外安装依赖,直接使用Python内置标准库即可完成转换。
内容的提问来源于stack exchange,提问作者lilqasr
相关产品推荐
相关产品推荐

