Forum Webscript.Ru
Общие => Базы данных => Тема начата: NP от 24 Марта 2003, 12:39:11
-
Всем привет!
Во такая ситация - есть файл excel, его содержимое нужно перевести в базу mysql (таблицу). В MYPHPADMIN есть возможность импортировать данные из текстового файла. Ну я экспортирую файл эксел в формат CSV, но база его принимать не хочет. Может кто-то делал такую штуку и сможет по пунктам объяснить что к чему. Заранее благодарен
-
Насколько я знаю, структура файла CSV (т.е. того самого файла Экселя) должна совпадать со структурой таблицы в базе.
-
не обязательно. в phpMyAdmin указываются через запятую названия полей для столбцов csv-шника.
-
самое главное, чтоб символ, выступающий разделителем содержимого полей, не встречался ни в одном из полей - иначе импорт не удастся, поэтому в качестве символа брать нужно чего-то экстра экзотическое, лучше не брать запятую
-
semya
интересно, а как же тогда сам excel правильно разбирает csv ?
и на что в пхп функция fgetcsv ?
-
AlieN
интересно, а как же тогда сам excel правильно разбирает csv ?
не всегда...
Действительно во всех описаниях и в мануале говорят о разделителе запятой, но в действительности попробуй для наглядности забить csv-mysql-таблицу с новостями, где разделитель полей запятая например (для наглядности) в MS Access, если в тексте новости или ее заголовка где-то встретится запятая, то либо ты получишь неверные данные в полях таблицы, зачастую даже не соответствующие типу поля, либо query просто не пройдет.... например, часто сталкивался с тем, что если за текстом новости в таблице бд следует поле даты например DATE, и в тексте новости встречается запятая, то весь текст после этой запятой (до встречи следующей) попадет в поле даты, что AFAIK не есть верно... поэтому и стараюсь использовать обычно вместо запятых другие, более редкие разделители...