使用Pandas读取Excel时保留字符串类型数字的末尾零
解决pandas读取Excel时保留字符串格式数字的末尾零问题
方法1:读取时直接指定列的数据类型为字符串
在调用pd.read_excel()时,通过dtype参数明确指定目标列的类型为字符串,阻止pandas自动将其转换为浮点数,从而保留原始的字符串格式(包括末尾的零)。
示例代码:
import pandas as pd # 替换为你的Excel文件路径 df = pd.read_excel("data.xlsx", dtype={"Section": str}) # 查看列类型与内容 print(df["Section"].dtype) print(df["Section"])
方法2:使用自定义转换函数读取列
如果需要更灵活的格式控制,可通过converters参数为目标列设置自定义转换函数,强制将读取内容转为字符串格式。
示例代码:
import pandas as pd def keep_raw_str(value): return str(value) df = pd.read_excel("data.xlsx", converters={"Section": keep_raw_str})
关键注意事项
- 确保Excel中目标单元格是文本格式存储:若单元格为数字格式(哪怕设置了固定小数位显示),原始数据本质是浮点数,无法逆向恢复末尾的零,需先在Excel中将单元格改为文本格式后重新输入数据。
- 一旦数据被读取为浮点数,无法恢复丢失的末尾零,必须在读取阶段完成类型控制。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

