Невозможно сохранить html-таблицу, используя запросы в pandas dataframe. - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь сохранить таблицу на этом сайте https://www.forexfactory.com/calendar.php, используя следующий код.

req = requests.post('https://www.forexfactory.com/calendar.php')
soup = BeautifulSoup(req.content, "lxml")
table = soup.find('table', {"class": "calendar__table"})
df = pd.read_html(table.prettify(),header=0)
df = df[0]

, но формат получается странным, потому что первый столбец (дата) и второйстолбец, который является временем сгруппированы / объединены ячейки.в HTML-коде они выглядят как пустые ячейки или пустые теги данных таблицы, как это.


<td class="calendar__cell calendar__date date"> </td>

Кто-нибудь знает, как я могу разгруппировать ячейку, прежде чем сохранить ее в фрейме данных pandas, чтобы она выглядела как обычная электронная таблица?

ИЛИ

есть ли способ заполнить таблицу как есть, оставив все заготовки на месте?

это должно выглядеть так

spreadsheet

Когда я проверяю столбцы, они верны, как вы можете видеть в выводе, но все после этого неправильно.

print (df.columns)

Index(['Date', '2:47pm', 'Currency', 'Impact', 'Unnamed: 4', 'Detail',
       'Actual', 'Forecast', 'Previous', 'Graph'],
      dtype='object')

...