![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
Здравствуйте.
У меня в моём сцаном CSV есть колонка "Доставка", в которой указываются числа в формате от-до, то есть например от 7 до 13 дней. В этом формате данные отображаются в блокноте. Но Excel выдаёт мне июл.13. Я погуглил, обнаружил, что такая же проблема с разделителями целой и дробной части вещественных чисел. Но дальше интереснее - про тире я ничего не нашёл. Изменение формата ячейки на общий/текстовый выдаёт ахинею вроде 41456, а в системных настройках даты и времени символ тире не фигурирует ну вообще никак. Настройки представления типов (в Excel) я не трогал, системные форматы даты и времени так же не менял. Но это бред, когда заведомо текстовые данные воспринимаются как хрен пойми что. (CSV хранит голый текст, безо всяких настроек). Выполнять импорт из текста каждый раз - это слишком топорно (и не факт, что не будет такой же проблемы). Как быть ?
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 26.10.2017 в 14:31. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
Не открывать просто файл, а создавать пустую книгу Excel, лезть в меню Данные - Из текста. а там уже для csv мастер запустится, в котором можно указать тип данных в каждой из колонок. Или можно попробовать подправить значения, чтобы вместо 7-10 хранилось '7-10. Одинарная кавычка примерно для этого и нужна. Только я не уверен, что она будет обрабатываться при открытии файла.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) грузить файл в Excel макросом
2) если не критично - можете попробовать вставить пробел в проблемный столбец например, Код:
p.s. А почему в разделе "Свободное общение"? мне кажется, что тема больше подходит для раздела MS Excel. Перенести туда? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Насколько помню можно еще заменить 7-10 на ="7-10" тогда отформатирует как текст без мастера
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]() Цитата:
Код:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
|
![]() |
![]() |
![]() |
#6 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]()
Ребят, всё классно, но у меня таких 500 000 строк. Поэтому мне пришлось банально забить на некоторые вещи, и просто не открывать файл в экселе, преобразовывать всё при помощи собственных велосипедов.
Подпись ? Не, не слышал ...
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Этот файл откуда-то взялся, значит надо исправить генерацию файла, чтоб проставила кавычки.
Имея ясное понимание куда надо кавычки вставить, что мешает исправить сам файл с помощью ближайшего текстового редактора и регулярных выражений, будь файл 50 строк, хоть 500000... |
![]() |
![]() |
![]() |
#8 | ||
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]() Цитата:
Цитата:
Изначально предполагалось всё привести к самому простому формату Код:
И эксель умеет делать это нормально (и быстро) - правильно разбивать на ячейки, даже если какие то ячейки не взяты в кавычки, а какие то взяты (и всё это безобразие в пределах одного файла). Проблема в том, что эти данные нужно будет отправлять в базу данных в запросе к MySQL. Я думаю, что ни для кого не секрет, какой эффект даст вложенная одинарная кавычка в данных запроса. У меня и так в текстовых данных они заменяются на -, а в числах это вообще страх и ужас, который нужно как то адаптировать для того, что бы выполнять импорт из любого файла, с привязкой колонок. Перед отправкой в базу данных не должно быть вообще никаких кавычек, обработка и так сложная, ещё усложнять её кавычками - проще убрать их на подходе, о чём я написал в этом же посте. Так что символ равно тут вообще никак не проходит. P. S. Почему в качестве разделителя не используют наиболее подходящий для этого символ табуляции ... Он же в табличных данных не используется для передачи какой либо информации, чем и является более универсальным с точки зрения обработки. Есть даже целый формат TSV, но почему то он не распространён. Из 15 файлов, с которыми я раотаю каждый день - только один файл формата txt, а данные записаны в TSV.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 29.10.2017 в 14:54. |
||
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Вы определитесь уже что вам надо. То вам надо читать в Эксель, то потом оказывается надо делать запрос в MySQL.
Далее, при импорте Эксель дает возможнось указать формат каждой колонки. Укажите, что эта колонка текст и дело с концом. |
![]() |
![]() |
![]() |
#10 | ||
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
![]() Цитата:
Цитата:
Подпись ? Не, не слышал ...
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с Excel 2010 | strannick | Microsoft Office Excel | 3 | 12.12.2012 14:55 |
VBA Excel проблемы | Alexanderrodkin | Microsoft Office Excel | 1 | 28.08.2012 08:59 |
Проблемы с excel | hunter03 | Помощь студентам | 1 | 13.11.2010 13:37 |
Из MS Excel XP в MS Excel 2008 for Mac, есть проблемы | O_H | Microsoft Office Excel | 0 | 27.09.2010 16:42 |
Проблемы с Excel 2007 | Tokvemada | Microsoft Office Excel | 4 | 22.06.2010 13:43 |