每当我尝试在.csv文件中读取一行时,它就会停止将该行作为单行处理并将其存储在多个数组中,只应该只有一行。我所看到的是当我读取.csv文件时,它似乎包含一些回车/这些奇怪的正方形,当我在记事本中打开它。我想从文件中删除这些字符,以便我可以正确读取.csv而不会过早退出。我将如何使用perl脚本执行此操作。
答案 0 :(得分:1)
您可以使用perl中的chomp()函数清理尾随空格。你可以使用这样的东西来扼杀所有尾随空格并用一个换行符替换它:
perl -ne 'while(chomp) { } print "$_\n";' filename.csv
答案 1 :(得分:1)
如果您希望将整个文件作为一行读取,只需禁用输入记录分隔符:
local $/;
my $file = <>;
也就是说,如果你想在perl中使用数据。如果您只是想更改要使用的其他程序的输入文件,并且您不关心换行/回车:
perl -pi.bak -we 's/[\r\n]+//g' input.csv
这将对input.csv
进行就地编辑,并在input.csv.bak
中保存备份。请注意,如果您运行此命令两次,则会覆盖备份,因此请在其他位置保存适当的备份。
如果你知道这些符号不应该存在,我只会推荐这个。