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

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

26.08.2015, 13:31. Показов 2998. Ответов 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
33478 / 21576 / 8250
Регистрация: 22.10.2011
Сообщений: 37,034
Записей в блоге: 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
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,495
Записей в блоге: 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
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,495
Записей в блоге: 3
02.09.2015, 17:37
Sergey_03, текущий свой код покажи
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33478 / 21576 / 8250
Регистрация: 22.10.2011
Сообщений: 37,034
Записей в блоге: 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
9954 / 6490 / 2461
Регистрация: 21.01.2014
Сообщений: 27,495
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru