使用Python编辑CSV文件:实现指定格式转换
CSV格式转换方案
输入输出说明
原始输入格式
"String1","variablelengthstring1","No" "String2","variablelengthstring2","No"
注:所有目标字符串(如String1、variablelengthstring1等)不含"或,字符
期望输出格式
String1 variablelengthstring1 String2 variablelengthstring2
处理方法
方法1:使用sed命令(适合Linux/macOS终端快速处理)
直接通过sed的字符串替换完成所有步骤:
sed 's/.\{6\}$//; s/"//g; s/,/ /g' input.csv > result.txt
各部分作用:
s/.\{6\}$//:删除每行末尾的6个字符(即",No")s/"//g:全局移除所有双引号s/,/ /g:全局将逗号替换为空格
方法2:使用awk命令(更灵活的字段处理)
利用awk的字段分割特性,直接提取目标内容:
awk -F'"' '{print $2 " " $4}' input.csv > result.txt
解释:以双引号作为分隔符,第2、4个字段就是需要的字符串,直接用空格拼接输出
或者用逗号分割后清理引号:
awk -F, '{gsub(/"/,"",$1); gsub(/"/,"",$2); print $1 " " $2}' input.csv
方法3:Python脚本(适合批量/跨平台处理)
如果需要跨平台或更复杂的逻辑,用Python脚本实现:
with open("input.csv", "r") as infile, open("result.txt", "w") as outfile: for line in infile: # 移除末尾6个字符并去掉换行符 trimmed = line.strip()[:-6] # 移除引号并替换逗号为空格 processed = trimmed.replace('"', '').replace(',', ' ') outfile.write(processed + "\n")
内容的提问来源于stack exchange,提问作者investo me
相关产品推荐
相关产品推荐

