如何将CSV文件中calling phone为92的行复制到另一个CSV文件中
筛选csv指定字段行的解决方案
你的input.csv采用分号作为字段分隔符,需求为保留表头,并筛选calling phone字段值为92的所有行输出到output.csv,可根据你的使用环境选择对应方案:
方法1:Linux/macOS 终端awk命令
一行命令直接完成筛选:
awk -F ';' 'NR==1 || $1 == "92"' input.csv > output.csv
参数说明:-F ';'指定分号为字段分隔符,NR==1对应保留首行表头,$1 == "92"对应筛选第一列(calling phone字段)值为92的行。
方法2:Windows PowerShell命令
Import-Csv -Path input.csv -Delimiter ';' | Where-Object {$_.'calling phone' -eq '92'} | Export-Csv -Path output.csv -Delimiter ';' -NoTypeInformation -Encoding UTF8
参数说明:导入csv时指定分号分隔符,筛选符合条件的行后导出,-NoTypeInformation参数避免输出多余的类型说明行,指定UTF8编码防止中文乱码。
方法3:跨平台Python脚本
如果需要兼容多系统,可运行以下Python代码:
import csv with open('input.csv', 'r', encoding='utf-8', newline='') as infile, \ open('output.csv', 'w', encoding='utf-8', newline='') as outfile: reader = csv.DictReader(infile, delimiter=';') writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames, delimiter=';') writer.writeheader() for row in reader: if row['calling phone'] == '92': writer.writerow(row)
最终输出的output.csv内容
calling phone;receiving phone;date;price 92;88;2020-04-24;0 92;84;2021-01-19;19
内容的提问来源于stack exchange,提问作者Houne
相关产品推荐
相关产品推荐

