导出CSV数据时如何使用多字符分隔符?

时间:2016-10-19 12:52:39

标签: powershell export-to-csv delimiter

我从一台服务器导出大量的表。存在特定描述属性,用于存储与代码上指定的分隔符冲突的特殊字符的船载。我尝试通过管道,逗号,半冒号,括号,花括号,算术符号,甚至1旁边的卷曲符号进行分隔,并且它们都在数据中使用。我想也许最好的方法是用{]或{!]之类的组合分隔符来划分数据中不会使用的分隔符。我的问题是powershell export-csv只允许char(1)分隔符,你如何强制它采取多个?

这就是我所拥有的:

export-csv $raw_file_path -delimiter "{"

我想这样做:

export-csv $raw_file_path -delimiter "{]"

1 个答案:

答案 0 :(得分:0)

我想通了,在我之前的PowerShell代码中,我删除了文本限定符“”,但实际上我需要它们才能使代码与单个分隔符一起使用。

这就是我在做的事情:

$table = $set.tables[0] | export-csv $raw_file_path -delimiter "{"

#clean "" out of file
(Get-Content $raw_file_path)|%{$_ -replace '"',""}|Out-File FilePath $file_path -Force -Encoding ascii

这就是我应该做的事情:

$table = $set.tables[0] | export-csv $raw_file_path -delimiter "{"

#clean "" out of file
(Get-Content $raw_file_path)|Out-File FilePath $file_path -Force -Encoding ascii

一旦在SQL中导入csv,我就可以设置一个可以根据文本限定符和分隔符拉取数据的函数。由于数据是围绕文本限定符包装的,因此它不会在我的数据字符串中拉出特殊字符。