の行を読み取ろうとするたびに。csvファイルは、行を単一の行として扱うのをやめ、1つだけと想定される複数の配列に格納します。私が見ているのは、.csvファイルを読んでいるときに、いくつかのキャリッジリターン/メモ帳で開いたときにこれらの奇妙な正方形が含まれているようです。ファイルからこれらの文字を削除して、.csvなしで正しく読み取ることができるようにします。終了が早すぎます。perlスクリプトを使用してこれを行うにはどうすればよいですか。
回答:
回答№1は1perlのchomp()関数を使用して、末尾の空白をクリーンアップできます。このようなものを使用して、末尾の空白をすべて切り刻み、単一の改行に置き換えることができます。
perl -ne "while(chomp) { } print "$_n";" filename.csv
回答№2の場合は0
ファイル全体を1行で読み取りたい場合は、入力レコード区切り文字を無効にするだけです。
local $/;
my $file = <>;
つまり、perl内のデータを使用したい場合です。他のプログラムが使用できるように入力ファイルを変更したいだけで、改行/キャリッジリターンを気にしない場合:
perl -pi.bak -we "s/[rn]+//g" input.csv
これにより、のインプレース編集が行われます。 input.csv
、バックアップをに保存します input.csv.bak
。このコマンドを2回実行すると、バックアップが上書きされるため、適切なバックアップを別の場所に保存することに注意してください。
これらの記号が存在してはならないことがわかっている場合にのみ、これをお勧めします。