質問: read csvを行うとinvalidになる あるシステムでcsv形式で出力したファイルを read csvで読み取ろうとすると “the csv file format for ファイル名 is invalid” というエラーが出てしまいます。 普通にエクセルでは開くことができ、またエクセルで上書き保存してからだと そのファイルはread csvを行うことができます。 メモ帳で開いてみると、値がダブルクォーテーションで囲まれており エクセルで保存したものはダブルクォーテーションが外されていました。 文字コードは”shift_jis”を設定しています。 よろしくお願いします。
回答: 一番よくある原因は、csvのヘッダ行(または1行目)の列数より、列(カラム)が多い行があることだと思います。 なので、まずはcsvのデータを確認してみてください。 その場合に考えられる対処法は、 csvを出力するソフト側で修正してもらう 何をもって正しいcsvと言うかは難しいのですが、rfc 4180で規定されているcsvのフォーマットは「各行の列数は同じ」が前提です。 現実的に修正してもらえるかはケースバイケースなのですが。 excelで開く excel application scopeで開けば、一応開ける筈です。この場合シート名はcsvのファイル名から拡張子を外した...