1

スクリーン スクレイピングを使用して Excel スプレッドシートにデータを入力するパイプ区切りのテキスト ファイルをユーザーから受け取ったので、データがごちゃごちゃしています。ランダムでいっぱいで^M (carriage returns)<96> (windows en dash)インポートが不完全になります。

を試しましたdos2unixが、変換に問題があるというエラーが表示されます。^Mこのサイトで見つけたこのソリューションを使用して、すべてを削除しました。

tr -d '\r' < infile > outfile

<96>文字は残ります。'/r'これらのダッシュに匹敵するものは何ですか? それとも、より良い解決策がありますか?可能であれば、実際には「悪い」ダッシュを「良い」ダッシュに置き換えたいと思います。

4

2 に答える 2

0

代わりに SAS を使用してファイルをクリーンアップしないのはなぜですか? 行が 32,767 文字より短い場合は簡単です。

data _null_;
  infile 'input-file' termstr=LF ;
  file 'output-file' termstr=LF ;
  input;
  _infile_=translate(compress(_infile_,'0D'x),'-','96'x);
  put _infile_;
run;

行が長い場合は、フィールドごとにデータを読み取り、代わりに修正できます。

于 2016-10-06T18:18:34.810 に答える