Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663

Много маленьких файлов .txt в один и отправка в excel

26.08.2015, 13:31. Показов 2847. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Не подскажите , есть папка, в ней текстовые файлы, штук сто. Названия вида 015_08_26
(год_месяц_дата). Возможно ли по кнопке их объединять в один. Отправить потом в EXCEL не проблема наверное, но интересует отправка в EXCEL по заданному диапазону (год_месяц_дата). Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.08.2015, 13:31
Ответы с готовыми решениями:

Есть очень много маленьких текстовых файлов необходимо слить в один файл
Очень много маленьких файлов размером от 500 КБ до 90 МБ. Максимальная длина строки в файлах 80 символов. Всего таких файлов может быть...

Как объединить много, 130 000 txt-файлов в один, включая подкаталоги?
Подскажите, как объединить много, 130 000 txt-файлов в один, включая подкаталоги? 150 папок, общий объем 150 Mb, потеря или замена...

Много XML-файлов - импорт данных в один Excel
Добрый вечер! Прошу помочь в следующем вопросе. Имеется папка с несколькими тысячами xml-файлов. Пример одного прилагается. Структура...

35
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
28.08.2015, 18:03  [ТС]
Студворк — интернет-сервис помощи студентам
Да, работает.

Добавлено через 7 часов 7 минут
Цитата Сообщение от D1973 Посмотреть сообщение
Sergey_03, я бы сделал как-то так...
Есть папка (у меня в примере C:\TMP\Monitor), в ней
Разбираю эти коды, вроде все понятно, но выдает ошибку при компиляции
[BCC32 Error] Unit1.cpp(170): E2451 Undefined symbol 'FormatSettings'
Погуглил - вроде опять проблемы 2009 бульдера.
Без него(тип форматирования) не обойтись, я так понимаю? Может аналог имеется?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33456 / 21556 / 8248
Регистрация: 22.10.2011
Сообщений: 37,009
Записей в блоге: 12
28.08.2015, 18:11
Убрать всякое упоминание о FormatSettings, работать напрямую с глобальными переменными:
C++
1
2
3
4
5
6
7
TDate __fastcall TForm1::DT_From_FN(String fn)
{
  DateSeparator = '_';
  ShortDateFormat = "yyyy_mm_dd";
  TDate Dt;
  if(TryStrToDate(fn, Dt)) return Dt; else return Date();
}
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
28.08.2015, 18:28  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Убрать всякое упоминание
Заработало, спасибо.
Еще вопросик - если у меня файлы будут иметь формат названий вот такой - 015_08_10_05_p3ABCD.txt, где
первые 9 символов так и будут, как было ПЕРВОНАЧАЛЬНО, а после может быть что угодно до .txt (так вышло, первоначально не планировалось)
Я пробую адаптировать, но пока не уловить этот смысл.
Наверное тут что то менять?
C++
1
fDt = "2" + SR.Name.SubString(1, SR.Name.Length() - 4);
или все сложнее?
0
Модератор
 Аватар для D1973
9945 / 6480 / 2460
Регистрация: 21.01.2014
Сообщений: 27,462
Записей в блоге: 3
28.08.2015, 18:34
Цитата Сообщение от Sergey_03 Посмотреть сообщение
пока не уловить этот смысл.
из имени файла (015_08_10.txt) вырезается расширение с точкой (остается 015_08_10) и в начало дописывается цифра 2. Получается 2015_08_10 и вот уже эту строку привести к типу дата не представляет проблем.

Добавлено через 1 минуту
Цитата Сообщение от Sergey_03 Посмотреть сообщение
Наверное тут что то менять?
Именно, и сделать это можно вот так:
C++
1
fDt = "2" + SR.Name.SubString(1, 9);
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
28.08.2015, 18:36  [ТС]
Теперь все понятно, спасибо!
0
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
30.08.2015, 13:23  [ТС]
С очень странной ситуацией столкнулся. На одном компе все работает идеально - на другом работает только один раз, потом не работает, до перезапуска проги. Как это?? Разница между компами - на том, что все работает - семерка, на другом XP..
0
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
02.09.2015, 13:32  [ТС]
Проблема с путями к .txt была.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
02.09.2015, 13:56
Файлы должны располагаться в папке с прогой ?
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
02.09.2015, 14:51  [ТС]
Да. При выборе файла эксель на сохранение, если он на рабочем столе, почемуто начинает искать текстовые файлы для считывания тоже на рабочем столе, хотя путь прописан в коде и это не рабочий стол. И ищет правильно, но только в первый раз. И это только на XP. Почему - так и не понятно.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
02.09.2015, 16:20
потому что у этих операционок разные пути до рабочего стола
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
02.09.2015, 17:22  [ТС]
А выход есть?
0
Модератор
 Аватар для D1973
9945 / 6480 / 2460
Регистрация: 21.01.2014
Сообщений: 27,462
Записей в блоге: 3
02.09.2015, 17:37
Sergey_03, текущий свой код покажи
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33456 / 21556 / 8248
Регистрация: 22.10.2011
Сообщений: 37,009
Записей в блоге: 12
02.09.2015, 17:39
Цитата Сообщение от Sergey_03 Посмотреть сообщение
А выход есть?
Есть. Получать путь к рабочему столу через переменные окружения. Либо, если тебе нужно, чтобы искались файлы в папке с твоим приложением, то ВСЕГДА (я задолбался это повторять на разных форумах, но все равно все самые умные, думают, их это не коснется, и делают ПО_СВОЕМУ!!!) передавай ПОЛНЫЙ (я повторяю, ПОЛНЫЙ) путь к файлу, а не огрызок только из имени файла и расширения. Что, так трудно дописать ExtractFilePath(ParamStr(0)) + ?
2
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
02.09.2015, 17:59  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Sergey_03, текущий свой код покажи
C++
1
2
3
4
5
6
7
if (SaveDialog2->Execute())
    {
       ListBox1->Items->Clear();
       //ucsCurrentDir = ReadStringIni(aWinIniFile.c_str(),"sCurrentDir", "_");
       //FileListBox1->Directory = ucsCurrentDir +"\\Monitoring";
       FileListBox1->Directory="C:\\Program Files\\MTECH\\VisualMonitoring\\Monitoring";
       FileListBox1->Mask = "*.txt";
И основной и закоментированный пути на XP работают одинаково, то есть один первый раз.
Цитата Сообщение от Sergey_03 Посмотреть сообщение
При выборе файла эксель на сохранение, если он на рабочем столе, почемуто начинает искать текстовые файлы для считывания тоже на рабочем столе, хотя путь прописан в коде и это не рабочий стол. И ищет правильно, но только в первый раз. И это только на XP. Почему - так и не понятно.
Цитата Сообщение от volvo Посмотреть сообщение
Получать путь к рабочему столу через переменные окружения.
Можно по подробнее...
Цитата Сообщение от volvo Посмотреть сообщение
если тебе нужно, чтобы искались файлы в папке с твоим приложением
хотел бы не привязываться к папкам приложения
0
Модератор
 Аватар для D1973
9945 / 6480 / 2460
Регистрация: 21.01.2014
Сообщений: 27,462
Записей в блоге: 3
02.09.2015, 18:29
SaveDialog у тебя, я так понял, для ввода имени xls файла? Тогда попробуй так:
1. Перед поиском txt-файлов сделай текущей ту папку, где они лежат:
C++
1
ChDir("C:\\Program Files\\MTECH\\VisualMonitoring\\Monitoring");
2. После поиска перед выводом в Ексель меняй текущую директорию на ту, которая указана в SaveDialog
C++
1
ChDir(ExtractFilePath(SaveDialog1->FileName));
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
02.09.2015, 20:51  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
SaveDialog у тебя, я так понял, для ввода имени xls файла?
Да, или для перезаписи существующего.
Цитата Сообщение от D1973 Посмотреть сообщение
Тогда попробуй так:
Спасибо. Проверю на работе- XP дома нету

Добавлено через 59 минут
Цитата Сообщение от D1973 Посмотреть сообщение
ChDir("C:\\Program Files\\MTECH\\VisualMonitoring\\Monitori ng");
Цитата Сообщение от D1973 Посмотреть сообщение
ChDir(ExtractFilePath(SaveDialog1->FileName));
Не подскажите, как этим пользоваться? Как это прикрутить к FileListBox1->Directory, а потом к эксель...чегото не догнать..

Добавлено через 1 час 1 минуту
Вроде разобрался. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.09.2015, 20:51

Один длинный Regex или много маленьких?
Пытаюсь сделать мат-фильтр. Ничего кроме регекса к голову не пришло... Вопрос: искать одним регексом сразу все нецензурные слова или для...

Один большой класс или много маленьких?
Здравствуйте. В программе есть N функций, которые необходимо выполнять друг за другом, но в неизвестной заранее последовательности....

Чтовыгоднее один большой сайт или много маленьких
Вот скажите новичку что выгоднее будет предположим один сайт раскрученный под много запросов и 300 посетителей в день, или в той же...

Разделить файл txt на несколько равных маленьких файлов
Пожалуйста помогите. Есть большой txt там 1335478 символов Как сделать чтоб он создал папку а в ней 667 файлов по 2000 символов в каждом...

Разбить один m-файл на кучу маленьких m-файлов
Здравствуйте. Я не новичок в Matlab. Однако просто раньше такого не требовалось. У меня ну просто огромный программный код в m-файле. Можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой Зрите в корень - монополизация на разработку программ. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru