You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas处理含科学计数法列的CSV:转换为字符串格式并重新导出

解决方案:用Pandas将科学计数法列转为字符串格式的完整数值

当然可以实现这个需求!按照你说的思路,用Pandas读取CSV后处理再重新写入是最直接的方法,具体步骤如下:

步骤1:读取CSV文件

读取时这些科学计数法的数值会被Pandas识别为float64类型,直接读取即可:

import pandas as pd

# 替换为你的CSV文件路径
df = pd.read_csv("your_file.csv")

步骤2:将科学计数法列转为字符串格式

接下来把FIPS_BLOCK、FIPS_BLKGR、FIPS_TRACT这几列转换成不带科学计数法的字符串,这里有两种可靠的处理方式:

方法一:转整数再转字符串(适配纯整数场景)

因为你的FIPS编码本质是整数,先把浮点数转为整数可以去掉多余的小数点,再转成字符串:

# 定义需要处理的目标列
target_cols = ["FIPS_BLOCK", "FIPS_BLKGR", "FIPS_TRACT"]

# 批量转换:先转整数消除小数,再转字符串
df[target_cols] = df[target_cols].applymap(lambda x: str(int(x)))

方法二:格式化字符串(兼容带小数的通用场景)

如果后续遇到带小数的科学计数法数值,也可以用格式化语法直接生成完整的非科学计数法字符串,针对你的整数需求设置保留0位小数即可:

df[target_cols] = df[target_cols].applymap(lambda x: "{:.0f}".format(x))

步骤3:重新写入CSV覆盖原文件

最后将处理好的DataFrame写入原文件,记得设置index=False避免生成额外的索引列:

# 写入CSV并覆盖原文件
df.to_csv("your_file.csv", index=False)

最终效果

处理后你的CSV内容会变成这样:

FIPS_BLOCK,FIPS_BLKGR,FIPS_TRACT
551000000000000,551000000000,55100000000
551000000000000,551000000000,55100000000
551000000000000,551000000000,55100000000
551000000000000,551000000000,55100000000

这些列现在都是字符串类型的完整数值,不会再以科学计数法显示了。

内容的提问来源于stack exchange,提问作者DiamondJoe12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 19:07:32