По какой-то причине HTML-код в файле примера содержит несопоставимые теги, которые не нравятся синтаксическому анализатору XML.Вы можете получить данные, хотя с некоторой работой, если вы загрузите их как текст и удалите или исправите любые части, с которыми у парсера возникли проблемы.
Рассмотрите этот код M:
let
Source = Table.FromColumns({Lines.FromBinary(File.Contents("C:\Users\aolson\Downloads\example-html.xls\example-html.xls"))}),
#"Kept Range of Rows" = Table.Range(Source,60,22),
Column1 = Text.Combine(#"Kept Range of Rows"[Column1]),
#"Parsed XML" = Xml.Tables(Column1),
Table = #"Parsed XML"{0}[Table],
#"Expanded td" = Table.ExpandTableColumn(Table, "td", {"i", "b", "span", "Element:Text"}, {"td.i", "td.b", "td.span", "td.Element:Text"}),
#"Expanded td.span" = Table.ExpandTableColumn(#"Expanded td", "td.span", {"Element:Text", "Attribute:style"}, {"td.span.Element:Text", "td.span.Attribute:style"})
in
#"Expanded td.span"
Шаги здесь примерно следующие:
- Загрузить файл как текст
- Выберите только раздел
<tbody>
. - Объединить эти строки в одно текстовое значение.
- Парсит этот текст как XML.
- Раскройте все найденные таблицы.
Когда я делал это изначально, я заметил, что тег <b>
не был закрыт, поэтому ядобавил </b>
в мой исходный файл.
Результаты немного уродливы, но я подозреваю, что ваши файлы данных не содержатмного форматирования или несовместимая структура таблиц, тогда вы можете получить что-то в этом духе, работающее сносно, особенно если у вас есть только один столбец для работы.