提问人:PracticingPython 提问时间:7/14/2023 最后编辑:PracticingPython 更新时间:7/14/2023 访问量:70
PowerShell 脚本 - 在 csv 文件中转义引号
PowerShell script - escaping quotes in a csv file
问:
我正在使用一个脚本,该脚本打开一个 csv,将其拆分为多个较小的 csv,然后压缩文件,以便可以轻松上传它们。脚本在这方面做得很好,但我需要一种方法来转义双引号 (“),以便将它们视为文本。我在下面包含了执行拆分的脚本部分。谢谢!
param([string]$in_file, [string]$out_folder, [int]$linesperFile = 100000, [string]$ext = 'csv', [string]$header='Y', [string]$compress='Y')
Function Split-File{
Param(
$in_file,
$out_folder,
$linesperFile,
$ext,
$header
)
$filecount = 1
$reader = $null
$header_row = $null
try{
$reader = [io.file]::OpenText($in_file)
if ($header -ne 'N') {
$header_row = $reader.ReadLine()
}
try{
$writer = [io.file]::CreateText("{0}{1}.{2}" -f ($out_folder,$filecount.ToString("000"),$ext))
$filecount++
$linecount = 0
while($reader.EndOfStream -ne $true) {
if ($header -eq 'Y') {
$writer.WriteLine($header_row)
}
while( ($linecount -lt $linesperFile) -and ($reader.EndOfStream -ne $true)){
$writer.WriteLine($reader.ReadLine());
$linecount++
}
if($reader.EndOfStream -ne $true) {
$writer.Dispose();
$writer = [io.file]::CreateText("{0}{1}.{2}" -f ($out_folder,$filecount.ToString("000"),$ext))
$filecount++
$linecount = 0
}
}
} finally {
$writer.Dispose();
}
} finally {
$reader.Dispose();
}
return $filecount
我尝试了iRon的解决方案,但它仍然不起作用......它到达带有双引号的一行,然后开始一遍又一遍地重复同一行。
答: 暂无答案
评论