“extra data after last expected column” while trying to import a csv file into postgresql

后端 未结 3 1110
栀梦
栀梦 2020-12-29 02:02

I try to copy the content of a CSV file into my postgresql db and I get this error \"extra data after last expected column\".

The content of my CSV is



        
相关标签:
3条回答
  • 2020-12-29 02:08

    Now you have 7 fields.

    You need to map those 6 fields from the CSV into 6 fields into the table.

    You cannot map only 3 fields from csv when you have it 6 like you do in:

    \COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
    

    All fields from the csv file need to to be mapped in the copy from command.

    And since you defined csv , delimiter is default, you don't need to put it.

    0 讨论(0)
  • 2020-12-29 02:18

    I tried your example and it works fine but ....

    your command from the psql command line is missing \

    database=#  \COPY agency FROM 'myFile.txt' CSV HEADER DELIMITER ',';
    

    And next time please include DDL

    I created DDL from the csv headers

    0 讨论(0)
  • 2020-12-29 02:29

    Not sure this counts as an answer, but I just hit this with a bunch of CSV files, and found that simply opening them in Excel and re-saving them with no changes made the error go away. IOTW there is possibly some incorrect formatting in the source file that Excel is able to clean up automatically.

    0 讨论(0)
提交回复
热议问题