0
我正在编写一个脚本来准备将csv上传到SQL中。PowerShell:字符串替换每次都不起作用?
我有两个几乎相同的命令(1和3),但第一个不起作用,第三个是。没有错误,它只是没有做我期望的事情。
我做了3个步骤,首先我摆脱了源文件中的所有管道(这是什么不起作用),然后我读取和写入CSV(这摆脱了使用引号的不同处理,而不是使用引号并将分隔符更改为管道)。最后,我摆脱了所有报价,因为除了分隔符之外不应再有其他管道。
# ---------------------------------------------------------
# 1. Get rid of all pipes
#----------------------------------------------------------
get-content ($csvfile + ".csv") | ForEach-Object { $_ -replace "|",""} | Set-Content ($csvfile + "2.csv")
# ---------------------------------------------------------
# 2. Make standard CSV but use Pipes as delimiter
#----------------------------------------------------------
Import-csv -path ($csvfile + "2.csv") -Delimiter ',' | Export-CSV -path ($csvfile + " 3.csv") -Delimiter '|'
# ---------------------------------------------------------
# 3. Get rid of all Quotes
#----------------------------------------------------------
get-content ($csvfile + "3.csv") | ForEach-Object { $_ -replace '"',""} | Set-Content ($csvfile + "4.csv")
摆脱零件是相同的。第二个工作,它摆脱了所有的报价,但第一个不起作用,管道仍然在。我尝试了不同的角色,但由于某种原因,没有在这个位置工作。
我错过了什么?
谢谢!
太谢谢你了!就是这样。我之前没有想过这件事,我感到很难过。 – MarcoK
好的,这就是学习的过程。 – Rahul