【发布时间】:2014-04-08 07:45:29
【问题描述】:
我一直在研究有关查找和替换 CSV 文件的示例,但我似乎无法得到任何工作,我希望能得到一些帮助。在 Windows 上运行它。
我必须处理格式不佳的 CSV 文件,其中逗号和双引号都在错误的位置。
CSV 示例:
Device,Block,Block,Block
Value,Power,Current(Best", Set," Ex),Power
Data, 3, 4, 3
我想在处理之前将'", ' 替换为'_'。目标是Current(Best_Set_Ex) 将在一列中。
Perl 脚本(更新):sanitize.pl
use warnings;
use strict;
while (<>) {
s/," /_/g;
s/", /_/g;
print ;
}
命令:
perl -p -i.orig sanitize.pl perltest.csv
错误:无法打开 perl 脚本“orig”:没有这样的文件或目录
【问题讨论】:
-
您应该编写一个 Perl 程序,而不是试图在一个命令行上完成全部工作。这样你会得到更好的诊断信息。
-
抱歉,已编辑。我将其作为脚本运行,现在作为单行命令运行
-
我正在切换到使用足够的 powershell 脚本。
[io.file]::readalltext("p:\pstest.csv").replace('", ',"_") | Out-File "P:\psreplaced.csv" -enconding ascii -force