Reputation: 131
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.
Upvotes: 13
Views: 20331
Reputation: 101
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
Upvotes: 1
Reputation: 7
The answer is very simple.
Add a page break in your excel file where your data ends.
Select just next cell (empty cell) after your last data cell and go to
File > Page Layout > Breaks > Insert Page Break
.
Save your csv file
and import
it again with pgadmin
.
Upvotes: -1
Reputation: 788
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.
Upvotes: 10