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

如何对CSV指定连续列做除以10000运算并保留全部原列输出?

CSV指定列批量转换实现方案

注意:以下方案默认你提到的列4:55为1起始索引(即Excel/表格工具中直观看到的第4到第55列),若你使用0起始索引的编程习惯,对应调整为列3到54即可。

方法1:Python Pandas实现(易调试,适合大多数场景)

首先安装依赖:
pip install pandas

处理代码:

import pandas as pd

# 读取原始CSV,若你的CSV没有表头,需添加参数 header=None
df = pd.read_csv("你的原始文件路径.csv")

# 选择第4到55列(1起始转0起始为索引3到54,左闭右开所以结束位写55),所有值除以10000
df.iloc[:, 3:55] = df.iloc[:, 3:55] / 10000

# 若你的50列有统一命名规则,比如列名均以landcover_开头,可替换上面的行实现更灵活的筛选:
# df.loc[:, df.columns.str.startswith('landcover_')] = df.loc[:, df.columns.str.startswith('landcover_')] / 10000

# 输出新CSV,index=False表示不输出pandas自动生成的行索引
df.to_csv("转换后的文件路径.csv", index=False, encoding='utf-8-sig')

方法2:R语言实现

# 读取CSV,无表头的话添加header = FALSE
df <- read.csv("你的原始文件路径.csv", stringsAsFactors = FALSE)

# 处理第4到55列
df[, 4:55] <- df[, 4:55] / 10000

# 输出新CSV
write.csv(df, "转换后的文件路径.csv", row.names = FALSE, fileEncoding = "utf-8")

方法3:命令行csvkit实现(无需写完整脚本,适合轻量快速处理)

首先安装工具:
pip install csvkit

执行转换命令(以下为1起始列的处理逻辑):
csvsql --query "select 列1,列2,列3, 列4/10000 as 列4, 列5/10000 as 列5, ..., 列55/10000 as 列55, 列56, 列N from 你的原始文件路径.csv" 你的原始文件路径.csv > 转换后的文件路径.csv

提示:如果你的50列有明确的列名前缀,可以用脚本批量生成转换语句,无需手动输入50个列的转换逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:06:04