У меня есть несколько циклов for, и каждый цикл выводит много строк кода, мне нужно объединить все из них столбец за столбцом, я прикреплю код ниже, чтобы объяснить и показать мой запрос:
myFile = open('example2.csv', 'w')
links = driver.find_elements_by_css_selector('html body div#wrapper div.container.coins div.mt-3 div.col-12.row.p-0.m-0 div.col-lg-8.col-md-8.d-flex.justify-content-center.flex-md-row.align-middle.align-items-center.justify-content-md-start.p-0.m-0 div.mr-md-3.mx-2.mb-md-0.text-3xl.font-semibold')
for linka in links:
linka = str(linka.text)
print(linka+'\n')
links = driver.find_elements_by_xpath('/html/body/div[2]/div[4]/div[4]/div[3]/div[1]/div/div[2]')
for linkb in links:
linkb = str(linkb.text)
print(linkb+'\n')
links = driver.find_elements_by_css_selector('div.coin-link-row:nth-child(3)')
for linkc in links:
linkc = str(linkc.text)
print(linkc+'\n')
links = driver.find_elements_by_css_selector('html body div#wrapper div.container.coins div.mt-3 div.col-12.row.p-0.m-0.mb-2.d-flex.flex-column-reverse.flex-sm-row div.col-md-9.col-lg-7.p-0 div.d-flex.flex-column.mx-3.mx-sm-5.mx-md-0 div.coin-link-row.mb-md-0')
for linkd in links:
linkd = str(linkd.text)
print(linkd+'\n')
myData = [["Linka", "Linkb", "Linkc","Linkd"],
[linka,linkb,linkc,linkd]]
with myFile:
writer = csv.writer(myFile)
writer.writerows(myData)
плюс я обычно получаю эту ошибку
I/O operation on closed file
Мне нужно, чтобы выходной файл в CSV-файле был как ниже
Linka, Linkb, Linkc, Linkd
linka(loop no 1), linkb(loop no 1), linkc(loop no 1), linkd(loop no 1)
linka(loop no 2), linkb(loop no 2), linkc(loop no 2), linkd(loop no 2)
linka(loop no 3), linkb(loop no 3), linkc(loop no 3), linkd(loop no 3)
linka(loop no 4), linkb(loop no 4), linkc(loop no 4), linkd(loop no 4)
Обновите код ниже:
for one in many:
time.sleep(1)
print(str(one.text) + '\n')
one.click()
with open('example2.csv', 'w') as myFile:
writer = csv.writer(myFile)
writer.writerow(["Linka", "Linkb", "Linkc", "Linkd"])
linksa = driver.find_elements_by_css_selector(
'html body div#wrapper div.container.coins div.mt-3 div.col-12.row.p-0.m-0 div.col-lg-8.col-md-8.d-flex.justify-content-center.flex-md-row.align-middle.align-items-center.justify-content-md-start.p-0.m-0 div.mr-md-3.mx-2.mb-md-0.text-3xl.font-semibold')
linksb = driver.find_elements_by_xpath('/html/body/div[2]/div[4]/div[4]/div[3]/div[1]/div/div[2]')
linksc = driver.find_elements_by_css_selector('div.coin-link-row:nth-child(3)')
linksd = driver.find_elements_by_css_selector(
'html body div#wrapper div.container.coins div.mt-3 div.col-12.row.p-0.m-0.mb-2.d-flex.flex-column-reverse.flex-sm-row div.col-md-9.col-lg-7.p-0 div.d-flex.flex-column.mx-3.mx-sm-5.mx-md-0 div.coin-link-row.mb-md-0')
for linka, linkb, linkc, linkd in zip(linksa, linksb, linksc, linksd):
writer.writerow([linka.text, linkb.text, linkc.text, linkd.text])
Спасибо, Бармар, что ты решил мою проблему (извините, ребята, проголосуйте за ответ @Barmar, потому что у меня недостаточно репутации для этого, на самом деле он этого заслуживает)