Тема: Проблемы CSV экспорта и импорта в phpMyAdmin

Я действительно новичок в PHPMyadmin, имею больше навыков в других системах.

но что меня удивило в PHPMyadmin это несоответствие возможностей экспорта и импорта
у нас есть экспорт в SQL, LaTeX, Microsoft Excel 2000, Microsoft Word 2000, CSV для данных MS Excel, CSV данные, XML а импорт только из  CSV,  CSV using LOAD DATA,  SQL

поскольку SQL <=> SQL это чистой воды анонизм об этом говорить не будем
то остальные должны хотя бы совпадать

практически проделав самостоятельно большинство шагов по подготовке данных для импорта  из CSV, был встречен в штыки PHPMyadminом с громкими криками что подготовленные мною данные не разделены или  строки разделены

вопрос - как решается подобная часто возникаемая задача ?

1.  С помощью PHPMyadmin перенести 3 записи из SQL, в Microsoft Excel 2000
2. в Microsoft Excel 2000 добавляется 200 или 300 записей
3. С помощью PHPMyadmin Из Microsoft Excel 2000  203 записи  перенести в  SQL

с уважением,
Анатолий Шмурак

2 (изменено: Rash, 2006-02-17 16:36:34)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак

меня удивило в PHPMyadmin это несоответствие возможностей экспорта и импорта

Хм... а тебя удивляет, что из доски можно сколотить стул, лавку, скворечник, и т.п. - сырье одно - а результирующие предметы разные...

вопрос - как решается подобная часто возникаемая задача ?

Было бы проще, если бы ты указал версию установленного phpMyAdmin.
1) На 2.7.0-pl2 и 2.8.0 для того чтобы экспортировать записи в Microsoft Excel 2000 выбираешь со страницы просмотра таблицы необходимые 3 записи, щелкаешь в нижней части страницы иконку 'Export'. На открывшейся странице экспорта указываешь тип данных - 'Microsoft Excel 2000', отмечаешь чекбокс 'Save as file' и давишь 'Go'

2) Добавляешь в Excel новые записи и сохраняешь файл как 'CSV (разделители - запятые)';

3) В phpMyAdmin во вкладке 'Import' указываешь местоположение дампа, тип кодировки, тип импортируемого файла (CVS), отмечаешь чекбокс 'Ignore duplicate rows', далее следующие поля оставляешь как есть по-умолчанию: Fields terminated by (по умолчанию в качестве разделителя используется; если при создании CVS специально не указать иной вид), Fields enclosed by (по умолчанию "), Fields escaped by (по умолчанию \), ну и Lines terminated by (ограничение строк auto). После этого жмешь 'Go' - новые строки добавляются, дубликаты игнорируются.

3

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак

поскольку SQL <=> SQL это чистой воды анонизм об этом говорить не будем

Это самый распространенный вид экспорта, не более того.

практически проделав самостоятельно большинство шагов по подготовке

По всей видимости, Анатолий, ты где-то допустил ошибку: разделители полей - запятые, а записи разделяются друг от друга переносом строки. Поэтому phpMyAdmin и сообщил о некорректности.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Уважаемый Rash !

версия  2.7.0 pl2

теоретически все должно происходить именно так, как вы написали, к сожалению начиная с шага 2 все не совсем корректно

2) Добавляешь в Excel новые записи и сохраняешь файл как 'CSV (разделители - запятые)';

после подобной операции  стандартный Ексел формирует файл aaa.csv в котором НЕ ВЫПОЛНЯЮТСЯ следующие условия
Fields enclosed by (по умолчанию "),
Fields escaped by (по умолчанию \),
Lines terminated by (ограничение строк auto).

Соответственно полученный файл "НЕ ВЛАЗИТ ОБРАТНО"
если пришлете мне ваш e-mail
(мой е-майл - s98@menr.gov.ua)
вышлю вам образцы файлов SQL XLS CSV
сможете проверить

с уважением
Анатолий Шмурак

5 (изменено: Rash, 2006-02-17 17:33:51)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак
Через E-Mail (iv80_at_narod.ru), или ПМ

6

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак
Rash
Уважаемые, обсуждайте проблемы связанные с phpMyAdmin в пределах форума  - он создан исключительно с данной целью!

Анатолий Шмурак

после подобной операции  стандартный Ексел формирует файл aaa.csv
в котором
НЕ ВЫПОЛНЯЮТСЯ следующие условия
Fields enclosed by (по умолчанию "),
Fields escaped by (по умолчанию \),
Lines terminated by (ограничение строк auto).

Эти условия и не должны выполняться в файле, генерируемом Excel-ем. Они используются при генерировании MySQL-запроса, исполняемого phpMyAdmin-ом

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Уважаемый Администратор
к сожалению
эти требования формируються не Экселом а PHP admin ом
при выборе опции импорт затем вид файла csv
поэтому вопрос

КАКОЙ ПОПУЛЯРНЫЙ ПРОГРАМНЫЙ ПРОДУКТ ИЗ СЕМЕЙСТВА
МИКРОСОФТ ОФФИС или подобный
ФОРМИРУЕТ КОРРЕКТНО НЕОБХОДИМЫЙ ДЛЯ
ВХОДА В PHP ADMIN ФОРМАТ CSV файла
с соответствующими опциями требуемыми PHP ADMIN ом
ОСТАЕТСЯ В СИЛЕ

с уважением
Анатолий Шмурак
-----------
/отредактировано Администратором/

8

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак
Анатолий, я думаю, что и Excel тебя устроит... но в любом случае полезно было бы посмотреть на содержимое .csv файла, генерируемого Excel-ем. Приведи пример первых 2 записей и 2 последних.

... и не надо писать большими буквами, у меня хорошее зрение wink

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Уважаемый администратор !
направляю вам
первые две записи
3;5;2006-02-17 09:39:27;83;1;83;2006-02-17 09:39:27;3;0;АР Крим;ДЕРЖАВНА ГЕОЛОГІЧНА СЛУЖБА;"КАЗЕННЕ ПІДПРИЄМСТВО ""ПІВДЕНЕКОГЕОЦЕНТР""";74.20.2 - Діяльність у сфері геології та геологорозвідування;73.10.0 Дослідження та розробки в галузі технічних та природничих наук;;;;;0110136600;95017 АВТОНОМНА РЕСПУБЛІКА КРИМ, м. СІМФЕРОПОЛЬ, КИЇВСЬКИЙ Р-Н, ВУЛ. 51 АРМІЇ, 55;23450378;Генеральний директор;Скорик Анатолій Миколайович;+38 0652 54-5079;+38 0652 54-5079;geotem@mail.ru;"КАЗЕННЕ ПІДПРИЄМСТВО ""ПІВДЕНЕКОГЕОЦЕНТР""";Скорик Анатолій Миколайович;Генеральний директор;95017 АВТОНОМНА РЕСПУБЛІКА КРИМ, м. СІМФЕРОПОЛЬ, КИЇВСЬКИЙ Р-Н, ВУЛ. 51 АРМІЇ, 55;;;;;;;;;+38 0652 54-5079;+38 0652 ;geotem@mail.ru;;;;;;
4;5;2006-02-17 09:39:27;83;1;83;2006-02-17 09:39:27;4;0;АР Крим;Державна служба геодезії, картографії та кадастру;Кримське управління геодезії, картографії та геоінформаційних систем ;74.20.3 Знімальні геодезичні та гідрографічні роботи;;;;;;0110136600;95053, АВТОНОМНА РЕСПУБЛІКА КРИМ, м. Сімферополь, вул.Суходольна,169/105а;4867687;Директор;Мінаєва Галина Олексіївна;+38 0652 25-6344;+38 0652 25-6344;;Кримське управління геодезії, картографії та геоінформаційних систем ;Мінаєва Галина Олексіївна;Директор;95053, АВТОНОМНА РЕСПУБЛІКА КРИМ, м. Сімферополь, вул.Суходольна,169/105а;;;;;;;;;+38 0652 25-6344;+38 0652 25-6344;;;;;;;

и две последних записи

133;5;2006-02-17 09:39:27;83;1;83;2006-02-17 09:39:27;133;0;Дніпропетровська область;УКРАЇНСЬКИЙ ДЕРЖАВНИЙ ГЕОЛОГОРОЗВІДУВАЛЬНИЙ ІНСТИТУТ (УКРДГРІ);Дніпропетровське відділення Українського Державного геологорозвідувального інституту;;;;;;;;49081,м. Дніпропетровськ, вул. Каруни, 1;;Директор;Васюк Борис Миколайович;3.80562E+11;3.80562E+11;dvdgri@atlantis.dp.ua;Дніпропетровське відділення Українського Державного геологорозвідувального інституту;Васюк Борис Миколайович;Директор;49081,м. Дніпропетровськ, вул. Каруни, 1;Днепропетровское отделение Украинского Государственного геологоразведочного института;Васюк Борис Николаевич;Директор;49081, г. Днепропетровск, ул. Каруны, 1;Ukrain State Geological Research Institute, Dnepropetrovsk Department;Boris Vasiuk;Director;49081, Ukrain, Dnepropetrovsk, Karuni str., 1;3.80562E+11;3.80562E+11;dvdgri@atlantis.dp.ua;_;_;_;_;_;_
134;5;2006-02-17 09:39:27;83;1;83;2006-02-17 09:39:27;134;0;Полтавська область;УКРАЇНСЬКИЙ ДЕРЖАВНИЙ ГЕОЛОГОРОЗВІДУВАЛЬНИЙ ІНСТИТУТ (УКРДГРІ);Полтавське відділення Українського державного геологорозвідувального інституту ;;;;;;;;36002, м. Полтава, вул. Фрунзе, 149,;;Директор;Лужаниця Олександр Васильович;38 0532 59-26-66;38 0532 59-26-66;"itb@privat-online.net, itb@bigmir.net
";Полтавське відділення Українського державного геологорозвідувального інституту ;Лужаниця Олександр Васильович;Директор;36002, м. Полтава, вул. Фрунзе, 149,;Полтавское отделение Украинского государственного геологоразведывательного института;Лужаница Александр Васильевич;Директор;36002, г. Полтава, ул. Фрунзе, 149,;The Poltava branch of Ukrainian state Geological Research institute;Alexander Luzhanytsa;Director;149, Frunze St., Poltava, 36002;38 0532 59-26-66;38 0532 59-26-66;"itb@privat-online.net, itb@bigmir.net
";;15:00 – 16:00;15:00 – 16:00;15:00 – 16:00;15:00 – 16:00;15:00 – 16:00

с уважением
Анатолий Шмурак

10

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак
Ошибка возникает из-за того, что ты в некоторых полях не указываешь ничего:

;95017 АВТОНОМНА РЕСПУБЛІКА КРИМ, м. СІМФЕРОПОЛЬ, КИЇВСЬКИЙ Р-Н, ВУЛ. 51 АРМІЇ, 55;;;;;;;;;+38 0652 54-5079;

варианты могут быть NULL (пустое значение),  "" (значение отсутствует), либо какое-нибудь конкретное значение. Исравленная строка может иметь вид:
;95017 АВТОНОМНА РЕСПУБЛІКА КРИМ, м. СІМФЕРОПОЛЬ, КИЇВСЬКИЙ Р-Н, ВУЛ. 51 АРМІЇ, 55;"";"";"";"";"";"";"";"";+38 0652 54-5079

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Спасибо, Администратор за ценный совет по поводу заполнения пустых полей в Екселе перед эспортом в формат CSV (Рекомендую поместить в http://www.php-myadmin.ru/faq/)
частично сообщения об ошибках исчезли, но тем не менее главное сообщение осталось
Invalid parameter for CSV import: Строки разделены

с уважением
Анатолий Шмурак

12

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак

Invalid parameter for CSV import: Строки разделены

Ты завершаешь строки в некоторых местах ";" - это разделители полей, а в твоем случае получается, что ты открываешь поле, но не указываешь в нем ничего.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Спасибо, уважаемый Администратор !

Проведенное мною вчера сравнение ряда програмных продуктов (в том числе линейки Микрософт Оффис), по формированию файла CSV , с требованиями, которые удовлетворяли ли бы импортные опции PHPMyadmin дали несколько неожиданный результат с большим отрывом победила геоинформационная система Mapinfo (Mapinfo Corporation) которая
1. грамотно обработала входной екселовский файл (вне зависимости заполнены поля или нет)
2. грамотно экспортнула его в текстовый формат TXT (при этом сама без пользователя догадалась вставить кавычки и прочие мелочи жизни)

выводы поскольку геоинформационные системы еще достаточно редки на компьютерах то

1. надо очень внимательно "вручную" формировать входные файлы для импорта в PHPMyadmin после их обработки в стандартных офисных приложениях что очень мучительно рекомендовать разработчикам следующих версиях phpMyAdmin либо
2. допольнить импорт "интеллектуальным" блочком  либо
3. создать стандартный импорт из одного из офисных приложений (либо Ексел либо Аксес), что в принципе все равно, и тем самым замкнуть функциональное кольцо передачи и обработки данных, что значительно облегчит жизнь пользователей и поднимет популярность phpMyAdmin среди администраторов контента

с уважением
Анатолий Шмурак

14

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Анатолий Шмурак
Т.к. судя по твоему посту проблема была в генерировании Excel-ем некорректного csv-файла, то очевидно, что эта проблема не phpMyAdmin, а Excel. В связи с этим сомневаюсь что разработчики будут переписывать модуль импорта под какое-то конкретное офисное приложение, которое тем более, если верить тебе, ведет себя некорректно.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

15

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Забыл еще один вопрос: phpMyAdmin не хочет заменять существующие файлы обновленными файлами с теми же названиями. Наверно где-то можно внести изменения, чтобы он заменял файлы?

16

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Vit
Игнорирование ключей-дубликатов при импорте

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

17 (изменено: Vit, 2006-04-24 00:02:27)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Я, вероятно, плохо сформулировал вопрос. Мне надо не добавить данные, игнорируя имеющиеся, а изменить имеющиеся данные. Например, у меня в таблице данные товара: изменилась цена, размер, добавились изображения и т.п. Я внес изменения в таблицу CSV-файла и при импорте phpMyAdmin говорит, что такие данные (строки, ключи - не знаю как правильно) уже есть и не хочет ничего импортировать. Неужели, для внесения изменений, надо удалить старую запись. Я пробовал - тогда, нет проблем. Но, я надеюсь, есть другое решение.
А что касается "указать в блоке 'Data' -  'Use ignore inserts'...", то я не вижу в моем phpMyAdmin такого поля. Вот, что там есть (мой phpMyAdmin на русском):

Данные
Полная вставка
Расширенные вставки

Может не туда смотрю?

P.S. А есть возможность редактировать один (два, три) столбец?

18

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Vit

А что касается "указать в блоке 'Data' -  'Use ignore inserts'...", то я не вижу в моем phpMyAdmin такого поля. Вот, что там есть (мой phpMyAdmin на русском):
Данные
Полная вставка
Расширенные вставки
Может не туда смотрю?

Нет, это моя ошибка. Я автоматически отправил тебя читать тему, тогда как в ней речь шла об игнорировании ключей-дубликатов при импорте файлов в sql-формате, а в твоем случае используется csv-формат.

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

Решение может быть таким: при импорте данных по известному тебе уже переходу 'SQL' -> 'Вставить текстовые файлы в таблицу' среди прочих строк в таблице есть "Заместить данные таблицы данными из файла (Содержимое файла замещает содержимое таблицы для рядов с идентичными первичными или уникальными ключами)". Ставишь галочку, и при импорте записи-дубликаты будут замещаться.

P.S. А есть возможность редактировать один (два, три) столбец?

Да, для этого там же следует указать в строке "Названия колонок" через запятую названия тех столбцов таблицы, значения которых нужно загрузить.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

19

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

при импорте ругается на Lines terminated by auto
говорит Invalid parameter for CSV import
Кто нибудь знает в чем проблема?

20 (изменено: MikeRebel, 2006-06-12 13:11:13)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Решил проблему при помощи установки админа версии 2.8.1 и генерации csv из access а не из excel. Кстати при установке версии 2.8.1 возникла бага. Админ берет конфигурацию не из config.inc.php в корне а из config.default.php в libraries!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

21

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

MikeRebel

Кстати при установке версии 2.8.1 возникла бага. Админ берет конфигурацию не из config.inc.php в корне а из config.default.php в libraries!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Кстати, это не бага. Этот вопрос обсуждается вот в этом топике: phpMyAdmin коннектится к mySQL под другим логином.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

22 (изменено: Sergunik, 2008-02-26 17:57:41)

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Lokki сказал:

Решение может быть таким: при импорте данных по известному тебе уже переходу 'SQL' -> 'Вставить текстовые файлы в таблицу' среди прочих строк в таблице есть "Заместить данные таблицы данными из файла (Содержимое файла замещает содержимое таблицы для рядов с идентичными первичными или уникальными ключами)". Ставишь галочку, и при импорте записи-дубликаты будут замещаться.

Скажыте пожалуйста, а как тогда мне зделать так, чтобы обновить даные не затирая старых. Например:
старая строчка — 5901/4550/12469;INDESIT SFR;5;0000;5901/4550/12469.jpg;text_about;

новая строчка — 5901/4550/12469;INDESIT SFR;5;1111;5901/4550/12469.jpg;NULL;

Здесь обновили из 0000 на 1111, а что надо написать в последней ячейке чтобы не затёрлась первичная информация.
NULL     ""    \"\"    — не подходит.
А если вставить \ то значение бустое, но все равно затирается.
Помогите!

23

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Sergunik
Насколько я знаю, частично обновить строку не удастся.

24

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Hanut сказал:

Насколько я знаю, частично обновить строку не удастся.

Спасибо что хотябы поинтересовались.
Я решение уже нашол http://forum.php-myadmin.ru/viewtopic.p … 4553#p4553

25

Re: Проблемы CSV экспорта и импорта в phpMyAdmin

Добрый день.
Прошу сильно не бить, т.к. не профи, а сильно новичок.
На хостинге:
версия PHP: 5.2
версия MySQL: 5.0

У меня такая проблема:

При импорте данных из CSV файла в таблицу  базы данных создаются доп. строчки, вместо того что бы вставить значения в первые строчки .

1. Есть таблица. Один столбец (name) заполнен, я хочу импортировать из CSV данные для столбца (unit) . Делаю так.
LOAD DATA не работает, но у хостера это можно исправить, написав им, только не знаю решит ли это проблему.

http://www.auravto.ru/1.jpg

2. Значения вставляются ниже, а надо вровень. Как  так сделать ?

http://www.auravto.ru/2.jpg

Уверен, что решение моей проблемы простое, но увы плохо разбираюсь в этом.