Вы либо добавляете в список, а затем объединяете после всего. Поскольку pd.read_html
возвращает список DataFrame, мы будем использовать itertools
, чтобы связать их все вместе, поэтому мы объединяем DataFrames, а не списки DataFrames.
from itertools import chain
l = []
for i in range(1, 4):
name_r1 = ('xxxxx'+ i)
r1 = requests.get(name_r1)
l.append(pd.read_html(r1.content))
df = pd.concat(chain.from_iterable(l))
Или сделайте это в кратком понимании списка:
df = pd.concat(chain.from_iterable([pd.read_html(requests.get('xxxxx'+ i))
for i in range(1, 4)]))
Вышеупомянутое будет эквивалентно созданию DataFrames путем конкатенации вывода pd.read_html
и последующего объединения всех этих DataFrames после l oop.
l = []
for i in range(1, 4):
name_r1 = ('xxxxx'+ i)
r1 = requests.get(name_r1)
l.append(pd.concat(pd.read_html(r1.content)))
df = pd.concat(l)