Генерация csv с типами полей

Статус
В этой теме нельзя размещать новые ответы.

Inviseble_Demon

Мой дом здесь!
Регистрация
11 Дек 2008
Сообщения
478
Реакции
377
Доброго времени суток.
Возникла такая проблема: имее примерно такой csv

id;login;balance;wmr
11;TestKopy;76.96;R176094******
13;Max;5.41;R556454******
Офис 5.41 конечно же по своему понял эту запись
1354951703-clip-3kb.png


Вот и возник вопрос как вообще с подобным работать ?
Наткнулся на csvt но так и не понял явно как это работает и как это поможет мне.
Неужели придется сначало файл типов давать потом сам csv ?
Или не заморачиваться и переходить на работу с xls ?

А ну как вариант точку на запятую заменить ))
Тогда вроди норм но вопрос остается как вообще делать импорт в csv там все похерачится же o_O
 
По твоей задаче есть отличная либа:
Для просмотра ссылки Войди или Зарегистрируйся
Скачиваешь, и в папке test есть много примеров.
И сразу дам ссылку на пример на сайте, чтобы было понятно, что в ней нет ничего сложного:
Для просмотра ссылки Войди или Зарегистрируйся
 
мож это покатит
Запустите скрип и поглядите результат



<?php
//файл test.php
$ft=fopen("WORDSTAT.CSV",'w+') or die ("Не возможно записать данные в файл!");
fwrite($ft,"Имя;Адрес;квартира;Комнат\n");
fclose($ft);
$csv="Вася;Питер;кв3;4 комнаты\n";//

//Write CVS
$ft=fopen("WORDSTAT.CSV",'a+') or die ("Не возможно записать данные в файл!");
fwrite($ft,"$csv");
fclose($ft);
?>
 
асс
Спасибо конечно но тема в том что бы у полей csv были типы полей... Записать в файл данные не проблема ))

PS. Не пойму только зачем было открывать файл на запись 2 раза ? Либо я что то пропустил....
 
асс

PS. Не пойму только зачем было открывать файл на запись 2 раза ? Либо я что то пропустил....

Ну просто первый создает файл если его нет, либо очищает если он есть , и добавляет названия полей.
А второй заполняет их значениями.

ПРо типи напишите пожалуйста, не могу понять, либо пример файла покажите.
 
как напрямую в базу залить csv файл?

подскажите в какую сторону двигаться...
 
как напрямую в базу залить csv файл?

подскажите в какую сторону двигаться...
Распарсиваеш CSV как необходимо (обычно банальным explode(), если csv без выпендрежей), дальше либо заливаеш в базу напримую налету, либо генерируеш sql dump для импорта.
 
как напрямую в базу залить csv файл?
Напрямую это вот так:
Для просмотра ссылки Войди или Зарегистрируйся

Пример:
Код:
LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
  IGNORE 1 LINES;

В примере - данные загружаются в таблицу tbl_name из файла data.csv
Поля в файле должны быть разделены запятой и обёрнуты в двойные кавычки (вы можете указать любые другие параметры в соответствии с вашим файлом)
Строки разделены переносом строки и каретки
Первую строку при импорте пропускаем.

Если у вас возникают глюки при открытии csv файла Офисом - часто офис каверкает числа, пытаясь их преобразовать в даты и т.п. — это из-за того, что вы не с той стороны подходите к работе с Microsoft Office

CSV файлы в нём надо открывать так:
Запускаем пустое окно Экселя
Нажимаем там Данные -> Из текста -> Указываете свой csv файл. И далее появляется окно, где вы можете для каждого поля указать нужный тип данных. Только в этом случае импорт у вас будет правильным, корректным, и без ошибок.
 
Если у вас возникают глюки при открытии csv файла Офисом - часто офис каверкает числа, пытаясь их преобразовать в даты и т.п. — это из-за того, что вы не с той стороны подходите к работе с Microsoft Office

Чтобы офис не пытался "самовольничать" и при этом не нужно было ручками указывать тип полей, проще при генерации csv каждое поле брать в кавычки, тогда для экселя это будет по умолчанию текстовое поле и оно будет открыто as-is.
 
2 Inviseble_Demon

csv файл, насколько я понимаю, это просто текстовый файл с условными разделителями полей, данных о типе полей хранить не предполагается
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху