【问题标题】:How to select required columns in csv file using powershell如何使用powershell在csv文件中选择所需的列
【发布时间】:2017-04-24 15:45:09
【问题描述】:

我有一个 csv 文件,其中的数据看起来像这样。

Div,Date,HomeTeam,AwayTeam,FTHG,FTAG,FTR,HTHG,HTAG,HTR
I1,20/08/16,Juventus,Fiorentina,2,1,H,1,0,H
I1,20/08/16,Roma,Udinese,4,0,H,0,0,D
I1,21/08/16,Atalanta,Lazio,3,4,A,0,3,A
I1,21/08/16,Bologna,Crotone,1,0,H,0,0,D

我正在尝试将如下所示的前六列导出到一个新的 csv 文件。

Div,Date,HomeTeam,AwayTeam,FTHG,FTAG
I1,20/08/16,Juventus,Fiorentina,2,1
I1,20/08/16,Roma,Udinese,4,0
I1,21/08/16,Atalanta,Lazio,3,4
I1,21/08/16,Bologna,Crotone,1,0

我正在使用以下 powershell 命令。

Import-Csv $infile -DeLimiter ","|
Select'Div','Date','HomeTeam','AwayTeam','FTHG','FTAG'| 
Export-Csv $trimfile -DeLimiter "," -NoTypeInformation

但我的输出 csv 文件看起来像这样

"Div","Date","HomeTeam","AwayTeam","FTHG","FTAG"
"I1","20/08/16","Juventus","Fiorentina","2","1"
"I1","20/08/16","Roma","Udinese","4","0"
"I1","21/08/16","Atalanta","Lazio","3","4"
"I1","21/08/16","Bologna","Crotone","1","0"

实际文件中的列数要高得多。在这里简化了。我做错了什么?

【问题讨论】:

  • 怎么了?引号? 99% 支持 csv 的读者理解并删除它们..
  • 是的。然后我必须将数据导入到 sqlite,其中 qoutes 出现在所有字段中。
  • 如果你有一个“,”成字符串?报价是必要的

标签: powershell csv


【解决方案1】:

试试这个代码:

Import-Csv $infile -DeLimiter "," | 
Select-Object 'Div','Date','HomeTeam','AwayTeam','FTHG','FTAG' | 
ConvertTo-Csv -NoTypeInformation | 
ForEach-Object { $_ -replace '"', ""} | 
Out-File $trimfile

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多