Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 13.12.2018
Сообщений: 25
1

Преобразовать текстовый файл в excel

07.10.2022, 17:41. Показов 432. Ответов 4

Author24 — интернет-сервис помощи студентам
Добрый день!

Имеется часть html файла.

Примерно в таком виде:
<a class="chatlist-chat" data-peer-id="000"><avatar-element class="dialog-avatar avatar-48" data-peer-id="000" dir="auto" data-color="cyan">--</avatar-element><div class="user-caption"><p class="dialog-title"><span class="user-title tgico"><span class="peer-title" dir="auto" data-peer-id="000" data-from-name="0" data-dialog="0" data-only-first-name="0" data-plain-text="0" data-with-icons="1">--</span></span><span class="dialog-title-details"><span class="message-status sending-status"></span><span class="message-time"></span></span></p><p class="dialog-subtitle"><span class="user-last-message" dir="auto"><span class="i18n">last seen just now</span></span></p></div></a><a class="chatlist-chat" data-peer-id="001"><avatar-element class="dialog-avatar avatar-48" data-peer-id="001" dir="auto" data-color=""><img class="avatar-photo" src=""></avatar-element><div class="user-caption"><p class="dialog-title"><span class="user-title tgico"><span class="peer-title" dir="auto" data-peer-id="001" data-from-name="0" data-dialog="0" data-only-first-name="0" data-plain-text="0" data-with-icons="1">--</span></span><span class="dialog-title-details"><span class="message-status sending-status"></span><span class="message-time"></span></span></p><p class="dialog-subtitle"><span class="user-last-message" dir="auto"><span class="i18n">last seen 2 minutes ago</span></span></p></div></a>

Нужные данные находятся между тегами "<a class=" и "</div></a>".
"<a class=" - начало строки с данными (sStart)
"</div></a>" - окончание строки с данными (sEnd)

Требуется создать список или таблицу Excel вида:
<a class=*********</div></a>
<a class=*********</div></a>
<a class=*********</div></a>
<a class=*********</div></a>

Кроме как перебирать каждый символ sStart (в пределах длины sStart) и сравнивать эти символы с каждым символом (символами) файла, возвращая указатель в файле каждый раз на длину sStart и сдвигая на 1 символ к концу файла никаких идей нету(((...

Может у кого есть какое-то другое решение? Или хотя бы где матчасть поизучать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2022, 17:41
Ответы с готовыми решениями:

Выгрузка из Excel в текстовый файл
Доброго дня. Может кто-нибудь сталкивался... Есть необходимость при выгрузке данных из Excel в...

Преобразовать текстовый файл в Unix формат
Всем здравствуйте! Необходимо преобразовать текстовый файл из Windows в unix формат. Вообще это...

Как с помощью функций преобразовать текстовый файл в excel-таблицу?
Как можно внутри матлаб с помощью функций преобразовать текстовый файл в excel-таблицу?

Как преобразовать текстовый файл больше миллиона строк в excel?
Здравствуйте помогите пожалуйста решить задачу : есть текстовый файл более млн строк, нужно его...

Дан текстовый файл квадратных матриц. Преобразовать файл, удалив элементы главной диагонали каждой матрицы
Всем доброго времени суток. Решил эту задачу с помощью создания временного файла. Нужно решить эту...

4
830 / 322 / 42
Регистрация: 10.05.2021
Сообщений: 1,406
Записей в блоге: 10
07.10.2022, 18:06 2
RealDT, здравствуйте
Попробуйте так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Option Explicit
'==================================================================================================
Sub t()
Dim x, spl, aIns() As String
Dim tx$, n&
 
tx = "строка"
spl = Split(tx, "</div></a>")
ReDim aIns(1 To UBound(spl) + 1, 1 To 1)
 
For Each x In spl
    If Len(x) Then n = n + 1: aIns(n, 1) = Mid$(x, 10)
Next x
 
Worksheets.Add: [a1].Resize(n, 1).Value2 = aIns
End Sub
'==================================================================================================
Вместо «строка» укажите свою строку (например, из ячейки). Ведущие "<a class=" и хвостовые "</div></a>" тэги удаляются.
0
1 / 1 / 0
Регистрация: 13.12.2018
Сообщений: 25
07.10.2022, 18:24  [ТС] 3
Вопрос. Файл html около 133К. Между ведущими и хвостовыми тегами разная длина данных. В переменную spl можно будет записать весь файл?
0
830 / 322 / 42
Регистрация: 10.05.2021
Сообщений: 1,406
Записей в блоге: 10
07.10.2022, 18:30 4
RealDT, процедура работает со строкой. Как вы её туда передадите — это уже другой вопрос. Поместится ли массив в памяти зависит от длины строки и объёма оперативки. Попробуйте и получите ответ.
Для тестирования на моей стороне мне нужен файл Excel с вашей длинной строкой в ячейке (или нескольких ячейках).

Если не влезет в массив, то всегда можно строковыми разобрать - просто больше кода. Если совсем хорошо, то можно исходный файл (не Excel) разбирать построчно и сразу собирать массив выгрузки, но это другая тема. Сам процесс нарезки я показал.
0
1 / 1 / 0
Регистрация: 13.12.2018
Сообщений: 25
07.10.2022, 19:22  [ТС] 5
PaRADoXerRUS,

чё-то никак не соображу как разобрать мешанину в этом файле по строкам...

файл выкладываю
Вложения
Тип файла: rar txt.rar (4.4 Кб, 14 просмотров)
0
07.10.2022, 19:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2022, 19:22
Помогаю со студенческими работами здесь

Преобразовать текстовый файл
Доброго времени суток! Подскажите пожалуйста решение данной задачи, чтение и удаление пробелов из...

Преобразовать текстовый файл
Помогите, пожалуйста. /// Программно создать текстовый файл и ввести в него несколько номеров...

Преобразовать текстовый файл чисел.
Помогите если не сложно. . . Файл f1.txt содержит 210 чисел в 7 колонок. Создать программу...

Преобразовать текстовый файл в массив
Доброго времени суток! При работе с файлами, у меня возникли проблемы, а точнее, мне надо...

Преобразовать текстовый файл в таблицу
Как можно помощью python преобразовать текстовый файл в таблицу со знаком разделителем табуляции?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru