Как создать фрейм данных из скачанного htm-файла из SAP - PullRequest
0 голосов
/ 03 октября 2019

Мне нужно создать фрейм данных из этого файла HTML. введите описание изображения здесь

Я пробовал некоторые коды с beautifulSoup, но это не работает. Кроме того, я не знаю, как создать фрейм данных, потому что знаю только read_html, но файл HTML

   table = BeautifulSoup(open('D:\DownloadingEmail\Job WSCZ_PO_STATUS_REPORT, Step 1.htm','r', encoding="utf8").read()).find_all()
df = pd.read_html(table)

И у меня есть TypeError: Невозможно прочитать объект типа 'ResultSet'

1 Ответ

0 голосов
/ 03 октября 2019

Есть довольно много проблем с этими двумя строками кода. Во-первых, вы пытаетесь сохранить htm как суповой объект, а затем ничего не делаете после этого для разбора таблицы.

Во-вторых, затем вы пытаетесь прочитать htm в панд, но в этот моментэто не htm, это объект BeautifulSoup.

Вы должны прочитать html как строку, а затем использовать pandas .read_html() для анализа таблицы (Примечание: Pandas использует BeautifulSoup под капотом).

Будет возвращен список фреймов данных (все теги <table>). Затем я просто добавляю все их вместе в 1 окончательный кадр данных:

import pandas as pd

htmStr = open('D:\DownloadingEmail\Job WSCZ_PO_STATUS_REPORT, Step 1.htm','r', encoding="utf8").read()
list_of_dataframes = pd.read_html(htmStr)

df = pd.concat(list_of_dataframes)
df.columns = df.iloc[0]
df = df[1:]

Вывод: первые 5 строк из 943 строк

print (df.head(5).to_string())
0 Doc. Type Pur. Doc. Item        Material Stor. location Order Quantity GR Quantity Open Quantity Outbound DN Quantity PGI Quantity Incoterms1              Pur. Group Name  Vendor Document Date    ETA Date                     Remark                     Vendor Name Currency Unit Price Pur. Group(PO) Pur. Group(Material)      Pur. Group Name Your reference Our reference Shipping instructions: Descr.
1       ZUC  14439416   10      L15813-002           K131             10           0            10                   10           10        FCA  Juliet z zhu 祝慧君#1824 #1824    F040    2019/09/26  2019/11/17                        NaN  SMS Infocomm Global Service(CQ      USD   16.77000            76K                  76C         Lukas Zezula       Critical      Critical                        By AIR
2       ZUC  14439416   20      756743-001           K131             15           0            15                   15            0        FCA  Juliet z zhu 祝慧君#1824 #1824    F040    2019/09/26  2020/01/01                        NaN  SMS Infocomm Global Service(CQ      USD   16.00000            76K                  753  Sonia Chou 周曉婷#5510       Critical      Critical                        By AIR
3       ZUC  14439430   10    6026B0256601           K13R             20           0            20                    0            0        DAP                 Petr Studeny    F0B0    2019/09/26  2019/10/25        C1R7 SP BUFFER K137  Wistron InfoComm (Philippines)      USD    0.24179            76J                  NaN                  NaN           C1R7          C1R7                        By AIR
4       ZUC  14439435   10  074.02260.0A43           K13R             30           0            30                   30            0        DAP                 Petr Studeny    F603    2019/09/26  2019/10/26  C1R7 SHORTAGE URGENT K137             Wistron Corporation      USD    0.14834            76J                  NaN                  NaN           C1R7          C1R7                        By AIR
5       ZNB  14439467   10      826376-001           K131              2           0             2                    0            0        EXW  Juliet z zhu 祝慧君#1824 #1824  960125    2019/09/26  2019/09/30                        NaN             SMS(KUNSHAN)Co.,LTD      USD  110.30000            76K                  753  Sonia Chou 周曉婷#5510             CN      Critical                        By AIR
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...