(三)PowerShell过滤csv数据,生成insert SQL

  • 灵感是工作里经常要把csv数据转为sql,就当做第一个练习了
#1.读取test.csv内以下数据
# 1,zhangsan1,男,20,19871201,无话可说1,
# 2,zhangsan2,女,20,19871201,无话可说2,
# 3,zhangsan3,男,20,19871201,无话可说3,
# 4,zhangsan4,女,20,19871201,无话可说4,
# 5,zhangsan5,男,20,19871201,无话可说5,
# 6,zhangsan6,女,20,19871201,无话可说6,
# 7,zhangsan7,男,20,19871201,无话可说7,
# 8,zhangsan8,女,20,19871201,无话可说8,
# 9,zhangsan9,男,20,19871201,无话可说9
#2.自定义表头:"id","name","sex","age","birthday","comment"
#3.过滤性别是女的数据,新建new_test.csv文件,将数据导入new_test.csv
Import-Csv -Path ./test.csv -Header "id","name","sex","age","birthday","comment" | Where-Object{
    $_.'sex' -eq '女'
} | Export-Csv -Path ./new_test.csv
#4.从new_test.csv里获取id,name,comment
$i=0
$SQL
Import-Csv -Path ./new_test.csv -Header "id","name","sex","age","birthday","comment"  | ForEach-Object{
    if($i -gt 0){
        $id = $_.'id'
        $name = $_.'name'
        $comment = $_.'comment'
        #Write-Output "insert into table (id,name,comment) value ($id,'$name','$comment')"
        #这里要特别注意,powershell的换行符不是用我们习惯的\r\n,\n,\r;而是`n,我这里开始不知道输出的文件一值不换行
        $SQL +="insert into table (id,name,comment) value ($id,'$name','$comment'); `n"
    }
    $i+=1
}
# 文件输出
$SQL | Out-File -FilePath ./result.txt
  • 感觉应该还可以再改进一下,有时间再琢磨下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值