PostgreSQLテーブルにCSVファイルをインポートしようと思っていますが、以下のエラーが出て、インポートできません。自分でもいろいろ調べてやってみますがどれも解決には至りませんでした。
practice=> \copy material_master from material_master_201911.csv WITH CSV; ERROR: missing data for column "no_name5" (seg0 moore-PC87-2017.localdomain:50000 pid=3920) CONTEXT: COPY material_master, line 62914: "62914,2017/3/22,19050006,付せん紙 フィルム インデックス ,家柄,付せん紙 フィル..."
試したこと
missing data for column no_name5とあったので、その付近のCSVデータを見て、データがおかしくないか調べてみましたが特におかしいところもありませんでした。
以下の質問も参考にしましたが、解決しませんでした。
https://teratail.com/questions/179516
62914行目付近のCSV
62914,2017/3/22,19050006,付せん紙 フィルム インデックス ,家柄,付せん紙 フィルム インデックス 家柄,,1309,付せん紙,13,ノート・メモ,する,製品,でない,1,パック,200,35,0,4902810000000 ,A,,通常,,1,1,0,0,1847,齋藤 俊,である,でない,しない,しない,しない,0,,,,,,,,,,,380,しない,190,する,課売上,5,,50,する,2017/7/19,2017/7/19,である,でない,でない,でない,1701,吉田 真由美,,,392,"1,000.00",1736,田中 風実,2017/3/22 13:22,1984,,2019/12/4 9:45
テーブル構造
practice=> \d material_master1 テーブル "public.material_master1" 列 | 型 | 修飾語 ------------------------------------------+-----------------------------+--------------------------------------------------------------- no | bigint | not null default nextval('material_master1_no_seq'::regclass) application_start_date | date | item_code | integer | item | text | standard | text | product_name_formal | text | standard_formal | text | minor_classification | integer | minor_category_name | character varying(20) | medium_classification_code | integer | middle_class_name | character varying(15) | payment_category | character varying(3) | product_name_classification | character varying(3) | miscellaneous_code_classification | character varying(3) | quantity | numeric | unit | character varying(3) | capacity | numeric | weight | numeric | output_order | integer | jan_code | bigint | ab_classification | character varying(1) | copyright_code | character varying(2) | character_code | character varying(2) | table_calculation_category | character varying(2) | mold_code | integer | plastic_weight | numeric | paper_weight | numeric | manufacturing_royalties | numeric | sales_royalties | numeric | assignee_code | integer | no_name1 | text | production_suspension_classification | character varying(3) | disused_edition_classification | character varying(3) | production_date_management_category | character varying(3) | expiration_date_management_category | character varying(3) | lot_management_indicator | character varying(3) | automatic_journal_pattern_classification | integer | manufacturer_code | integer | no_name2 | text | purchase_type | integer | purchase_price | numeric | purchase_unit_price | numeric | unit_price_change_category | character varying(3) | tax_classification1 | character varying(3) | scheduling_management_classification | character varying(8) | minimum_order_quantity | numeric | order_unit | numeric | conversion_value_at_delivery | numeric | standard_retail_price | integer | hide_at_retail_price_slip | character varying(3) | standard_sales_unit_price | numeric | unit_price_change_category2 | character varying(3) | tax_classification2 | character varying(3) | minimum_shipment_quantity | integer | cost_ratio | character varying(1) | rate | numeric | change_rate_indicator | character varying(3) | release_date | date | shipping_start_date | date | input_prohibited | character varying(3) | no_reservation | character varying(3) | prohibition_of_allocation | character varying(3) | shipment_stop | character varying(3) | charge_p1 | integer | no_name3 | character varying(10) | charge_p2 | integer | no_name4 | text | country_of_origin | integer | carton_quantity | numeric | lead_time | integer | registered_employee_code | integer | no_name5 | character varying(10) | registered_date | timestamp without time zone | last_updated_employee_code | integer | no_name6 | character varying(10) | last_modified | timestamp without time zone |
PostgreSQL をタグに追加しておいてください。バージョンも本文に追記願います。
あと本文内の記述も調整してください。tが抜けてます。
失礼いたしました。
修正いたしました。
山勘ですが、"付せん紙 フィルム インデックス ,家柄" のカンマの前のスペースが怪しい。
変な文字コードになってないか確認してください。
カラムの数と入れようとしているデータの数が合っているか確認してみてください。エラーからするとそれっぽいです
CSV QUOTE '"'を付けてみたらどうでしょうか? ”の前にバックスラッシュいるかも
訂正です、V9.2はQUOTE指定無くても大丈夫でした。
ご提示されたエラーデータのカラム数は73で、テーブルは76と違いますが