私は47001行のCSV文書を持っています。それでもExcelで開くと31641行しかありません。テキスト文書でさまざまな文字を見つけよう
私は47001が正しい行数であることを知っています。それはサイズが私が47001であることを知っているデータベーステーブルのエクスポートです。さらに:wc -l my.csv
が返す47001.
したがって、Excelの解析が失敗します。私はこの文書のどこかにファンキーなコントロールや空白文字があると思われます。
いくつかの文書で使用されているさまざまな文字を確認するにはどうすればよいですか?
たとえば、次の入力ファイルを考えてみましょう:ABCAAAaaa\n
。
ファイルで使用されている文字のアルファベットは、ABCa\n
であると思います。
私たちが圧縮すれば、何とかHuffman Treeを読むことができますか?
私はUTF-8文字の種類とASCIIの文字の種類を比較することは教育的ではないかと思います。たとえば、ExcelはASCIIでマルチバイト文字を解析し、コントロールコードポイントとしていくつかのバイトを解釈することがあります。
Excelテーブルを入力と同じCSV形式で再度エクスポートします。 'diff'を使って結果を元のものと比較してください。 'sed '/ [^ a-zA-Z0-9 _] * // g''これは英数字以外の文字を取り除くので、少し異なるフォーマットは関係ありません。 – Alfe
'csv'はどのようにエンコードされているのですか? UTF8?アスキー? ISO-8859-1? UTF16など? – jm666
@Alfe悲しいことに、ExcelのCSV出力はすべての日付と金額を再フォーマットしているので、diffはすべての行を変更したものと見なします。しかし、sedは私にアイデアを与えます。私は全ての英数字(日付やUUIDで見つかるものと思われるもの)を削除することができました: 'sed '/ [a-zA-Z0-9 _ \ - \:、\。これは、少数の文字だけを残しました: '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''私は確かにこれらのいくつかがパーサを上回るかもしれないと信じることができます。質問の質問には答えませんが、それはCSVの問題を明らかにします。 – Birchlabs