Страницы: 1
RSS
Проблема с сохранением в CSV
 
Для импорта файла в MySQL необходимо, чтоб значение дата и время были в формате ГГГГ-ММ-ДД ч:мм. При пересохранении экселевского файла в CSV формат меняется на ДД.ММ.ГГГГ ч:мм. Как его можно заставить сохраниться в нужном формате? Спасибо!
 
Перед сохранением поменять формат на нужный.
 
{quote}{login=}{date=07.05.2011 10:36}{thema=}{post}Перед сохранением поменять формат на нужный.{/post}{/quote}  
Я б не спрашивал, естественно выставляется нужный формат. Только после открытия сохраненного файла фомат сбрасывается на встроенный.
 
Но ведь нужно для MySQL. Ему не нравится?
 
{quote}{login=}{date=07.05.2011 10:50}{thema=}{post}Но ведь нужно для MySQL. Ему не нравится?{/post}{/quote}  
не нравится
 
попытаемся обмануть Excel:  
во вспоиогательном столбце пишем формулу вида =ТЕКСТ(A1,"ГГГГ-ММ-ДД ч:мм")  
при сохранении в CSV подсовываем этот столбец вместо оригинального.  
если делаем это часто - заворачиваем всё это в макрос.    
тогда весь экспорт будет сводиться к нажатию на одну кнопку.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=ikki}{date=07.05.2011 11:05}{thema=}{post}попытаемся обмануть Excel:  
во вспоиогательном столбце пишем формулу вида =ТЕКСТ(A1,"ГГГГ-ММ-ДД ч:мм")  
при сохранении в CSV подсовываем этот столбец вместо оригинального.  
если делаем это часто - заворачиваем всё это в макрос.    
тогда весь экспорт будет сводиться к нажатию на одну кнопку.{/post}{/quote}  
 
так дает ошибку в формуле.Тут надо учесть, что строк может быть несколько сотен и у всех разное время.
 
если вы формулу скопировали из форума, то у меня там опечатка - запятую надо исправить на ";"  
 
ос01, я начинаю подозревать - если вам в лоб не намекнуть, что для качественного и быстрого решения ВАШЕЙ проблемы от ВАС нужен кусочек ВАШЕГО файла Excel, то вы об этом сами не догадаетесь?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=ikki}{date=07.05.2011 11:27}{thema=}{post}если вы формулу скопировали из форума, то у меня там опечатка - запятую надо исправить на ";"  
 
ос01, я начинаю подозревать - если вам в лоб не намекнуть, что для качественного и быстрого решения ВАШЕЙ проблемы от ВАС нужен кусочек ВАШЕГО файла Excel, то вы об этом сами не догадаетесь?{/post}{/quote}  
 
лист "резальтат", столбец D. В первой строке я подставил Вашу формулу.
 
во-первых, у вас циклическая ссылка - формула ссылается на ту ячейку, в которой находится.  
во-вторых - я уже писал: "во вспомогательном столбце..."  
т.е.:  
если у вас дата-время в столбце D, то формулу вводим, например, в столбец K и выглядеть она будет так:  
=ТЕКСТ(D1,"ГГГГ-ММ-ДД ч:мм")  
 
пс. а у вас знания Excel на каком уровне (не сочтите за оскорбление) ?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=ikki}{date=07.05.2011 01:20}{thema=}{post}во-первых, у вас циклическая ссылка - формула ссылается на ту ячейку, в которой находится.  
во-вторых - я уже писал: "во вспомогательном столбце..."  
т.е.:  
если у вас дата-время в столбце D, то формулу вводим, например, в столбец K и выглядеть она будет так:  
=ТЕКСТ(D1,"ГГГГ-ММ-ДД ч:мм")  
 
пс. а у вас знания Excel на каком уровне (не сочтите за оскорбление) ?{/post}{/quote}  
 
На начальном уровне, поэтому и спрашиваю. Если поставить ";" вместо ",", то работает, спасибо! Только для импорта в MySQL придется постоянно в сохраненном файле столбец К удалять вручную, что не очень удобно.
 
ну так вот для этого и можетпригодиться макрос. будет удобно :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=ikki}{date=07.05.2011 05:21}{thema=}{post}ну так вот для этого и можетпригодиться макрос. будет удобно :){/post}{/quote}  
 
Ну это мне точно не по зубам )). Мне проще в РНР файле поменять создаваемый формат.
 
И все-таки эта функция не работает. Если сохраненный csv-файл закрыть и открыть по-новому, то формат сбрасывает. :(
 
{quote}{login=oc01}{date=07.05.2011 10:21}{thema=Re: Re: }{post}И все-таки эта функция не работает. Если сохраненный csv-файл закрыть и открыть по-новому, то формат сбрасывает. :({/post}{/quote}  
конечно.  
при открытии csv Excel пытается автоматически подобрать тип данных.    
ваш вопрос был: "для импорта в MySQL", а не "для импорта в Excel"
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
{quote}{login=ikki}{date=07.05.2011 10:28}{thema=Re: Re: Re: }{post}{quote}{login=oc01}{date=07.05.2011 10:21}{thema=Re: Re: }{post}И все-таки эта функция не работает. Если сохраненный csv-файл закрыть и открыть по-новому, то формат сбрасывает. :({/post}{/quote}  
конечно.  
при открытии csv Excel пытается автоматически подобрать тип данных.    
ваш вопрос был: "для импорта в MySQL", а не "для импорта в Excel"{/post}{/quote}  
 
спасибо, теперь понял!
 
и все равно после сохраненения получается лишний столбец, а чтоб его удалить, надо опять сохранять, а это уже "импорт в эксель" :(
 
CSV - это текстовый файл, и форматов там нет. Посмотрите блокнотом, в каком виде эти поля записываются.
 
И вообще CSV можно создать макросом как обычный текстовый файл - т.е. поячеечно записать в текст с нужными разделителями, если уж с "сохранить как" не получается...
 
{quote}{login=Hugo}{date=07.05.2011 11:05}{thema=}{post}CSV - это текстовый файл, и форматов там нет. Посмотрите блокнотом, в каком виде эти поля записываются.{/post}{/quote}  
 
Да это понятно! Как удалить дополнительный столбец, чтобы формат даты был такой, какой прописывает именно этот столбец?
 
Так Вы посмотрите блокнотом, в каком виде дата в csv при сохранении без всяких формул - возможно, что там всё в порядке, и формат портится при открытии в MySQL также, как и при открытии Экселем.
 
{quote}{login=Hugo}{date=07.05.2011 11:37}{thema=}{post}Так Вы посмотрите блокнотом, в каком виде дата в csv при сохранении без всяких формул - возможно, что там всё в порядке, и формат портится при открытии в MySQL также, как и при открытии Экселем.{/post}{/quote}  
Если в csv в формате ячейки выставить нужный тип, то MySQL аппетитно проглатывает.
 
Вот я сохранил Ваш пример без формулы:  
#ИМЯ?;2-ВАСЯ;171;2011-05-07 23:04;0000-00-00 00:00:00;1;25;1;;    105 ;  
Где тут формат?
 
{quote}{login=Hugo}{date=08.05.2011 12:06}{thema=}{post}Вот я сохранил Ваш пример без формулы:  
#ИМЯ?;2-ВАСЯ;171;2011-05-07 23:04;0000-00-00 00:00:00;1;25;1;;    105 ;  
Где тут формат?{/post}{/quote}  
так нормально
 
Только не открывайте Экселем, чтоб не думали, что ненормально :)
 
{quote}{login=Hugo}{date=08.05.2011 12:10}{thema=}{post}Только не открывайте Экселем, чтоб не думали, что ненормально :){/post}{/quote}  
просто после сохранения мне надо будет еще редактировать файл
 
Редактируйте блокнотом. Или открывайте Экселем через импорт данных - там можно поставить текстовый формат колонке с датой.
 
{quote}{login=Hugo}{date=08.05.2011 12:23}{thema=}{post}Редактируйте блокнотом. Или открывайте Экселем через импорт данных - там можно поставить текстовый формат колонке с датой.{/post}{/quote}  
 
Спасибо!
 
Такой вариант нормальный, но почету-то при импорте в MySQL кроме строк в таблице вставляются еще 64 строки с нулевыми значениями. В варианте открытия CSV в экселе и редактирования в формате ячеек в нужный формат лишние строки не импортируются. Как победить эти строки в первом варианте?
Страницы: 1
Читают тему
Наверх