отсутствуют данные для столбца с sql COPY - PullRequest
0 голосов
/ 11 апреля 2020

Я работаю над ноутбуком Jupyter.

У меня есть следующий json файл:

{"num_songs": 1, "artist_id": "ARJIE2Y1187B994AB7", "artist_latitude": null, "artist_longitude": null, "artist_location": "", "artist_name": "Line Renaud", "song_id": "SOUPIRU12A6D4FA1E1", "title": "Der Kleine Dompfaff", "duration": 152.92036, "year": 0}

Я хочу загрузить его в таблицу с помощью оператора копирования.

Я создал свою таблицу следующим образом:

song_table_create = (""" CREATE TABLE songs (song_id varchar, title varchar, artist_id varchar, year int, duration float)""")

Вот мой оператор копирования:

test_statement = """copy songs (song_id, title, artist_id, year, duration) from '/home/workspace/data/song_data/A/B/C/TRABCRU128F423F449.json';"""
cur.execute(test_statement)

при запуске я получил следующую ошибку:

DataError: missing data for column "title"
CONTEXT:  COPY songs, line 1: "{"num_songs": 1, "artist_id": "AR8IEZO1187B99055E", "artist_latitude": null, "artist_longitude": nul..."

Что не так?

1 Ответ

0 голосов
/ 11 апреля 2020

У меня была такая же проблема несколько недель назад, и первый вариант помог мне решить мою проблему.

Я проверю следующие варианты

  1. Пробел (один или несколько) имеет экранированный с помощью backsla sh в конце значения без кавычек.
  2. Одна или несколько строк вашего JSON содержат 4 или менее пробелов, означающих ваш разделитель.

Ссылка на этот документ может помочь вам понять. Команда COPY

...