如何在Pandas中将CSV文件Health列的小写ok替换为大写OK
统一将CSV中Health列的小写
ok改为大写OK的方法 这里有几种实用的方案,根据你日常使用的工具来选就好:
方法1:用Python脚本处理(灵活可控)
如果你熟悉Python,这个方法可以精准处理,还能轻松应对后续更复杂的需求:
import csv # 替换成你的输入CSV文件名 input_file = "your_data.csv" # 输出的新CSV文件名 output_file = "updated_health_data.csv" with open(input_file, 'r') as in_csv, open(output_file, 'w', newline='') as out_csv: # 用字典读取器,方便按列名访问数据 reader = csv.DictReader(in_csv, delimiter=' ') # 你的CSV是空格分隔,所以指定分隔符 writer = csv.DictWriter(out_csv, fieldnames=reader.fieldnames, delimiter=' ') writer.writeheader() # 先写入表头 for row in reader: # 只把小写的"ok"替换成"OK",保留原有的"OK"不变 if row['Health'].strip() == 'ok': row['Health'] = 'OK' writer.writerow(row)
运行脚本后,updated_health_data.csv就是处理好的文件。如果你的CSV是逗号分隔,把delimiter=' '改成delimiter=','就行。
方法2:用awk命令行快速处理(适合Linux/macOS)
如果习惯用命令行,一行命令就能搞定:
awk 'BEGIN{FS=OFS=" "} NR==1{print; next} $3=="ok"{$3="OK"}1' your_data.csv > updated_health_data.csv
FS=OFS=" ":设置输入输出的分隔符为空格(逗号分隔就改成FS=OFS=",")NR==1{print; next}:第一行是表头,直接打印跳过处理$3=="ok"{$3="OK"}:第三列(Health列)如果是小写ok,就替换成OK- 最后的
1:打印所有行
方法3:用Excel/Google Sheets可视化处理
如果你更喜欢GUI工具:
- 打开CSV文件,选中Health列
- 按下
Ctrl+H(Windows)或Cmd+H(Mac)打开查找替换窗口 - 查找内容填
ok,替换为OK - 点击「选项」,勾选「区分大小写」,这样只会替换小写的
ok,不会改动原本的OK - 最后保存文件即可
内容的提问来源于stack exchange,提问作者Souvik Ray
相关产品推荐
相关产品推荐

