242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
1 | |
Импорт данных из Excel26.10.2015, 14:03. Показов 26979. Ответов 23
Метки нет (Все метки)
Добрый день! Скажите, пожалуйста. Можно в PostgreSQL как-нибудь автоматически заполнить таблицу данными из Excel?
0
|
26.10.2015, 14:03 | |
Ответы с готовыми решениями:
23
Экспорт-импорт данных Excel-Access-Excel Импорт данных в таблицу БД из Excel с сохранением всех типов данных в таблице БД Импорт данных из Excel в Базу Данных Access Импорт данных из Excel |
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 07:04 [ТС] | 3 |
У меня прав нет:
ОШИБКА: для использования COPY с файлами нужно быть суперпользователем HINT: Не имея административных прав, можно использовать COPY с stdout и stdin (а также команду psql \copy). Я еще пробовала через интерфейс pgAdmin III сделать. Выбираю таблицу, в меню выбираю Импорт. Открывается окно: 'Import data from file into tablename' Нужно выбрать формат и кодировку. Формат выбираю csv, кодировку - по умолчанию UTF8. Жму Импорт. Выдает ошибку: Неверная последовательность байт для кодировки UTF8.
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
||||||
27.10.2015, 07:43 | 4 | |||||
Да, забыл про права суперпользователя...
Для psql тоже достаточно легко делается
1
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 08:14 [ТС] | 5 |
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
||||||
27.10.2015, 08:21 | 6 | |||||
Вы на windows или linux?
Если windows, то с большой долей вероятности excel создаст csv-файл в кодировке win1251. В linux
0
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 08:25 [ТС] | 7 |
Windows. Выбрала кодировку win1251. Все равно ошибка.
Неверная последовательность байт для кодировки "WIN1251"
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
27.10.2015, 08:44 | 8 |
Может тогда cp866 )
В windows уже не работаю, раньше помню FarManager умел кодировки показывать. Добавлено через 6 минут Проверил у себя в виртуалке... У меня 2007 эксель стоит... сохраняет как CSV (MSDOS) - это кодировка cp866
0
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 09:44 [ТС] | 9 |
У меня нет такого варианта. Есть вариант WIN866
Вообщем перемерила все предлагаемые кодировки. Везде одна и та же ошибка: Неверная последовательность байт для кодировки... А при проверке кодировки MULE_INTERNAL ошибка: Неверное значение для целого числа "..." И там какие-то косячные символы.
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
27.10.2015, 09:55 | 10 |
Полагаю стоит заново начать с экспорта в экселе, заново сделать CSV-файл, открыть его тем же notepad'ом и посмотреть, что там внутри. Я сейчас не могу проверить WIN866, но позже просто ради интереса попробую.
0
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 10:43 [ТС] | 11 |
Я не очень поняла) Это не экспортированный файл. Просто экселевский файл. Сама создавала. Сейчас сохранила как csv. Открыла notepad'ом. Там все нормально отображается, только вместо границ ячеек ';' Зашла в Notepad на вкладку Кодировки. Там отмечена Кодировка в UTF-8 (без BOM).
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
27.10.2015, 12:59 | 12 |
Ну теперь импорт полученного csv-файла делайте в postgresql. что получится?
0
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 13:12 [ТС] | 13 |
grgdvo, спасибо! С кодировкой понятно Теперь с типами проблемы. У меня в этом файле 1 запись. Первый столбец - idшник, остальные - null. При импорте пишет ошибку: неверное значение для целого числа: "139;;;;;;;;;;;;" Почему-то он не понимает, что точка с запятой к следующим столбцам относится.
Добавлено через 2 минуты Я просто раньше не работала с БД
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
27.10.2015, 13:33 | 14 |
Нужно указать, что разделителем полей будет "точка с запятой", по умолчанию "запятая" используется (от CSV = Comma-Separated Values). Но Excel почему-то решил, что надо непременно ";" использовать.
Вот снимок экрана моего pgadmin. При импорте поменяйте разделитель. Еще возможно с NULL-значениями придется поработать, если у вас в файле есть такие пустоты со значениями. Также нужно по структуре таблицы пройтись. У вас количество полей соответствует количество колонок в excel?? возможно придется указать порядок колонок.
1
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 13:48 [ТС] | 15 |
Спасибо,grgdvo, получилось импортировать!)) Последний вопрос. У меня десятичный разделитель был запятая, перед импортом я заменила ее на точку. Потом я буду импортировать файл, где 6000 записей, и тоже везде десятичный разделитель запятая. Лучше в Excel везде поменять на точку или можно где-нибудь при импорте указать, что десятичный разделитель запятая?
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
27.10.2015, 14:07 | 16 |
Будет проще и быстрее поменять в экселе запятую на точку, чем городить с локализацией и восприятием формата вещественного числа.
1
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
27.10.2015, 14:09 [ТС] | 17 |
Ясно, спасибо!
0
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
29.10.2015, 07:24 [ТС] | 18 |
grgdvo, а Вы пробовали импортировать столбцы, в которых есть кириллица? У таких столбцов все-таки проблема с кодировкой
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
29.10.2015, 13:27 | 19 |
У меня CSV-файл был в кодировке UTF-8 и база данных создана в UTF-8. Все импортировалось успешно!
0
|
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
|
|
29.10.2015, 13:29 [ТС] | 20 |
А где проверить кодировки CSV-файла и базы данных?
0
|
29.10.2015, 13:29 | |
29.10.2015, 13:29 | |
Помогаю со студенческими работами здесь
20
Импорт данных из Excel Импорт данных из excel Импорт неповторяющихся данных из Excel Импорт данных из Excel в SQLEXPRESS Импорт данных из Excel в Access Импорт данных из Access в Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |