Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/146: Рейтинг темы: голосов - 146, средняя оценка - 4.85
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
1

Импорт данных из Excel

26.10.2015, 14:03. Показов 26979. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Скажите, пожалуйста. Можно в PostgreSQL как-нибудь автоматически заполнить таблицу данными из Excel?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2015, 14:03
Ответы с готовыми решениями:

Экспорт-импорт данных Excel-Access-Excel
Доброе время суток уважаемые форумчане. Приходит информация в экселевской таблице. Скидываю её в...

Импорт данных в таблицу БД из Excel с сохранением всех типов данных в таблице БД
Добрый день! Произвожу импорт данных в таблицу БД ms access из таблицы excel. Необходимо при...

Импорт данных из Excel в Базу Данных Access
Привет всем !!! Столкнулся вот с какой задачей, нужно сделать импорт в Access из данных Excel. ...

Импорт данных из Excel
Добрый день! Перечитал много статей про импорт данных из Excel в Access, но то что мне надо так и...

23
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
26.10.2015, 14:25 2
напрямую в excel не уверен, что такое есть... но есть запись данных в CSV-файл. см. COPY
1
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 тоже достаточно легко делается
Bash
1
psql -c "\copy mytable from mydata.csv (format csv)" mydb -U myuser
Цитата Сообщение от Simply me Посмотреть сообщение
Жму Импорт. Выдает ошибку: Неверная последовательность байт для кодировки UTF8.
А выбранный файл точно имеет кодировку UTF8??? Я вот у себя решил проверить, все импортиться прекрасно.
1
242 / 35 / 8
Регистрация: 05.05.2012
Сообщений: 521
27.10.2015, 08:14  [ТС] 5
Цитата Сообщение от grgdvo Посмотреть сообщение
А выбранный файл точно имеет кодировку UTF8???
Не точно. Я что-то не помню, как проверить кодировку. Файл экселевский.
0
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
27.10.2015, 08:21 6
Вы на windows или linux?
Если windows, то с большой долей вероятности excel создаст csv-файл в кодировке win1251.
В linux
Bash
1
enca filename.csv
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
Цитата Сообщение от Simply me Посмотреть сообщение
точка с запятой к следующим столбцам относится.
Нужно указать, что разделителем полей будет "точка с запятой", по умолчанию "запятая" используется (от CSV = Comma-Separated Values). Но Excel почему-то решил, что надо непременно ";" использовать.
Вот снимок экрана моего pgadmin. При импорте поменяйте разделитель. Еще возможно с NULL-значениями придется поработать, если у вас в файле есть такие пустоты со значениями. Также нужно по структуре таблицы пройтись. У вас количество полей соответствует количество колонок в excel?? возможно придется указать порядок колонок.
Импорт данных из 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2015, 13:29
Помогаю со студенческими работами здесь

Импорт данных из Excel
Здравствуйте! Подскажите пожалуйста, как импортировать данные из таблицы Excel в БД Access, если...

Импорт данных из excel
Добрый день! Помогите в импорте данных из Excel. Точнее импорт сделан в таблицу "test", а...

Импорт неповторяющихся данных из Excel
Доброго времени суток пользователям данного сайта! Прошу подсказать возможное оптимальное решение...

Импорт данных из Excel в SQLEXPRESS
hi ! хочу импортировать данные из excel но вечно вылетает ошибка Операция остановлена... ...

Импорт данных из Excel в Access
Добрый день, очень нужна помощь. Как автоматически с помощью кода VBA (по нажатию кнопки)...

Импорт данных из Access в Excel
Доброго времени суток, подскажите пожалуйста, как можно осуществить импорт данных из Access в Excel...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru