パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Excelのデータってありますか?」記事へのコメント

  • by Anonymous Coward

    神 Excelと違って、楽勝だね。

    "❶","12,000㌕","32.1㌫"
    Ⅱ,1万kg,46

    全部にダブルクォート付きくらいなら、除去するだけだから楽勝だが。
    下手にデータの方にもダブルクォートがある場合ってどうなるんだろ。

    • by Anonymous Coward

      ダブルクォートの出力方法がそもそも複数ある。
      ダブルクォートが2個並ぶ形式(普通はこの形式)でエスケープ。
      バックスラッシュ(円記号)の後ろにダブルクォートでエスケープ。
      ダブルクォートを単なる通常文字として扱う(この場合フィールド内に区切り文字や改行文字は入力不能)。
      もしかすると、ダブルクォートで括った上で区切り文字に隣接しない場合はダブルクォート一文字、
      区切り文字に隣接する場合はダブルクォートを一文字増やすって実装もあり得るだろうか?

      二重ダブルクォートだけサポートしとけば大概は大丈夫だろうけど、
      もし方言含めてパースするなら当該形式で矛盾が起きない形式のうち
      最も一般的な方式であると推定が行えてから読み込みだねぇ……
      区切り文字が破壊されればフィールド数の不揃いで検知できるが、
      全部不揃いなパターンや破壊が起きないパターンだと確定困難。

      • Excelじゃないですが、とある共有のデータベースで備考欄に半角カンマを入れるユーザがいたらしくて。
        担当者がCSVに落として一括処理しようとしたら、失敗して困ってたのを思い出した。

        • by Anonymous Coward

          改行コード入ってる場合もありますね。
          あれも苦労する・・・

          • by Anonymous Coward

            「Excelで保存したCSVファイル」という仕様であれば、ロードは簡単なんだけどな。
            オレオレCSVで整合性考えてないのは解析しろと言われても困る。

            • by Anonymous Coward on 2020年11月12日 15時38分 (#3922931)

              >「Excelで保存したCSVファイル」という仕様であれば、ロードは簡単なんだけどな。
              ?えっ

              EXCELで保存したCSVファイルはEXCEL自身ですら同じ形でロードできないのに?
              01 2-1 をCSV保存-> 01,2-1
              CSVとしてEXCEL読込み-> 1 2月1日

              何処が簡単なんだか教えてくれ、マジで。

              親コメント
              • by Anonymous Coward

                それは「セルの内容が解析できる書式だった場合はそのデータ型にキャストして元データを破棄する」というゴミのような仕様の問題だろ

              • by Anonymous Coward

                つまり、CSVを破壊するExcelがゴミ。

              • by Anonymous Coward

                だから、
                拡張子を.txtとかに変更して
                (1) ファイルの「開く」
                または
                (2) データの「外部データの取り込み」→テキストファイル」
                ででテキストウィザードを開く必要がある、というのが「ロードは簡単」ではないだろ、って話だろ?噛みつくとこ間違えてんぞ?

※ただしPHPを除く -- あるAdmin

処理中...