Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

postgresql csv copy unquoted newline found in data

I have some csv data in excel, and I'm importing it into postgresql. I'm opening the excel csv file with a notepad editor (have tried notepad, wordpad and notepad++) and am then copying/pasting into a remote desktop connection to a linux machine. Then I'm using this import statement from within the database: COPY ltg_data FROM '/home/keene/ltg_db/ltg_outbreak_jun9_15.csv' (FORMAT CSV, HEADER);

I get this error: ERROR: unquoted newline found in data HINT: Use quoted CSV field to represent newline. CONTEXT: COPY ltg_data, line 175320

Here's the link to the csv file I'm using: http://greenandtheblue.com/ltg_outbreak_jun9_15.csv
I've researched the issue a lot and tried a lot of things and must be missing something fairly simple. Any help is very much appreciated.

like image 470
user1475191 Avatar asked Jun 19 '15 21:06

user1475191


2 Answers

The file you linked doesn't appear to have CR-LF line endings, however I suspect that could potentially be an issue since you're coming from a Windows host. You might try removing carriage returns using sed:

sed 's/\r//' ltg_outbreak_jun9_15.csv ltg_outbreak_jun9_15-noCR.csv

Then COPY FROM the resulting ...-noCR.csv file.

like image 140
thinkmassive Avatar answered Sep 28 '22 00:09

thinkmassive


You can remove the carriage returns using sed as thinkmassive said, but to save the results into a new file on Linux you need:

touch ltg_outbreak_jun9_15-noCR.csv

sed 's/\r//' ltg_outbreak_jun9_15.csv > ltg_outbreak_jun9_15-noCR.csv

like image 39
Anita W Avatar answered Sep 28 '22 02:09

Anita W