Цель: Хотите сохранить таблицы на каждой html-странице, указанной каждой ссылкой, хранящейся в моем файле CSV, а затем сможете сохранить / распечатать данные таблицы в файл CSV. Однако в моем коде у меня две проблемы.
- Я не могу получить данные для печати в двух столбцах, вместо того, чтобы они печатались в одной ячейке
Я хочу иметь возможность добавлять столбцы таким образом, чтобы таблица каждой страницы находилась справа от таблицы предыдущей страницы, а не ниже. Например я хочу
column1 column2 column3 column4
row1 xxpage1 valuexx xxpage2 valuexx
row2 xypage1 valuexy xypage2 valuexy
Что я получаю
column1
row1 xxpage valuexx
xypage1 valuexy
row2 xxpage2 valuexx
xypage2 valuexy
Кроме того, если я хочу транспонировать, как я могу это сделать? когда я делаю df.T или df.transpose () или numpy.transpose, это выдает ошибку, говорящую, что тип 'list' не может быть транспонирован.
ниже мой код
listofrows = []
df_links = pd.read_csv("links.csv")
links = df_links['#/itemDetail?itemId=BWKHURACAN40&uom=EA']
print(links)
numoflinks = len(links) + 1
print(numoflinks)
for i in range(0, 5):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
prefs = {'profile.managed_default_content_settings.images':2}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
print(i)
url = "http://biggestbook.com/ui/catalog.html" + links[i]
driver.get(url)
expandSigns = WebDriverWait(driver,30).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".glyphicon-plus")))
expandSigns[1].click()
WebDriverWait(driver,20).until(EC.presence_of_element_located((By.CSS_SELECTOR, "td")))
table = driver.find_element_by_css_selector('table')
html = table.get_attribute('outerHTML')
print(html)
df = pd.read_html(html)
listofrows.append(df)
df[0].to_csv("output.csv")
print(listofrows)
for rows in listofrows:
with open('listofData.csv', 'w') as listofData:
for rows in listofrows:
rowlistwriter = csv.writer(listofData)
rowlistwriter.writerow(rows)
driver.quit()
sleep(5)
пожалуйста, помогите мне с этим.