Aşağıdaki hata kodunu neden alıyor olabilirim. Tablodaki Sutun değerlerini sıralamak istiyorum. Hata bu yüzden çıkıyor. Kod uzun olsada belki yardımcı olur diye ekledim.Kod sırası 149 sort_values eklediğim için çıktı.
import re
import requests
from bs4 import BeautifulSoup
import datetime
from itertools import islice
import pandas as pd
import numpy as np
x=datetime.datetime.now() #bugüne ait tarih bilgisini çekiyor.
tarih=datetime.datetime.strftime(x,"%d.%m.%Y") #tarihi uygun formata çevirdik.
plakalar = []
url= "https://www.hipodromx.com/program.aspx?Tarih={}".format(tarih) #url adresimizin uzantısındaki tarihi bulunduğumuz güne çekiyor.
get= requests.get(url)
soup= BeautifulSoup(get.content, "lxml")
liste= []
sehir={"ADANA": 1, "ANKARA": 6, "ANTALYA": 7, "BURSA": 16, "DİYARBAKIR": 21, "ELAZIĞ": 23, "İSTANBUL": 34, "İZMİR": 35, "KOCAELİ": 41, "Ş.URFA": 63}
for i in range(0, 2):
sehir_bilgisi= soup.find_all("tr", attrs={"id": "ctl00_ContentPlaceHolder1_KosuKartDet_ASPxPageControl1_grdProgram_DXDataRow{}_1".format(i)})
for sehirler in sehir_bilgisi:
gunluk_sehir_bilgisi = sehirler.find("td", attrs={"class": "dxgv"}).text #hipodrom bilgisini html yerine göre siteden çektik.
liste.append(gunluk_sehir_bilgisi)
for k in liste:
if k.split(" ")[0] in sehir.keys():
plakalar.append(sehir[k.split(" ")[0]])
for t in range(0,2):
url2="https://www.hipodromx.com/ProgramTamEkran.aspx?Tarih={}%2000:00:00&Sehir={}".format(tarih, plakalar[t])
get= requests.get(url2)
soup= BeautifulSoup(get.content, "lxml")
kosudaki_atsayisi=[]
for i in range(0,14):
if len(re.findall("grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell.+_2".format(i), str(soup)))==0:
break
kosudaki_atsayisi.append(len(re.findall("grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell.+_2".format(i), str(soup)))) #kosudaki at sayısı
KOSU_BILGISI=[]
AGF=[]
NO=[]
ATADI=[]
TAKI=[]
AYGIR_KISRAK=[]
KILO=[]
JOKEY=[]
ATSAHIBI_ANTRENOR=[]
START=[]
HANDIKAP_PUANI=[]
DERECE=[]
KOSMADIGI_GUN=[]
ORTALAMA_PUAN=[]
BASLIK=["AGF","NO","ATADI","TAKI","AYGIR_KISRAK","KILO","JOKEY","ATSAHIBI/ANTRENOR","START","HANDIKAP_PUANI","DERECE","KOSMADIGI GUN","ORT.PUAN"]
for j in range(0,len(kosudaki_atsayisi)):
kosu_bilgisi = soup.find("td", attrs={"id": "grdProgTamEkran_tccell{}_0".format(j)}).find("tr").text
KOSU_BILGISI.append(" ".join(kosu_bilgisi.split()))
for k in range(0, 12):
KOSU_BILGISI.append(" ")
for i in range(0, kosudaki_atsayisi[j]):
agf = soup.find("td", attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_2".format(j, i)}).text
AGF.append(float(agf.partition("-")[0]))
no=soup.find("td", attrs={"id":"grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_2".format(j, i)}).next_sibling.text
NO.append(int(no.strip()))
atadi = soup.find("td", attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_4".format(j, i)}).find("a").text
ATADI.append(atadi.strip())
taki = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_4".format(j, i)}).find_all(
"b", text=True)
taki_bul = []
for b in taki:
if b.get_text() == " " or b.get_text() == "KOŞMAZ":
continue
taki_bul.append(b.text)
TAKI.append("".join(taki_bul))
aygir = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_6".format(j, i)}).text
x = "".join(aygir.split())
kisrak_kisrakbabasi = soup.find("td", attrs={
"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_7".format(j, i)}).text
y = "".join(kisrak_kisrakbabasi.split())
AYGIR_KISRAK.append("/".join((x, y)))
kilo = soup.find("td", attrs={
"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_8".format(j, i)}).text.split()
Kilo = []
for x in kilo:
Kilo.append(float(x.replace(",", ".")))
toplam = 0
for y in Kilo:
toplam += y
KILO.append(toplam)
jokey = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_9".format(j, i)}).text
JOKEY.append(jokey.strip())
at_sahibi = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_10".format(j, i)}).text
x = " ".join(at_sahibi.split())
antrenor = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_11".format(j, i)}).text
y = " ".join(antrenor.split())
ATSAHIBI_ANTRENOR.append("/".join((x, y)))
start = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_12".format(j, i)}).text
START.append(int(start.strip()))
handikap_puani = soup.find("td", attrs={
"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_12".format(j, i)}).next_sibling.text
HANDIKAP_PUANI.append(handikap_puani.strip())
derece = soup.find("td", attrs={
"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_14".format(j, i)}).find_all("td")
for x in derece:
DERECE.append(" ".join(x.text))
kosmuyor = soup.find("td",
attrs={"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_15".format(j, i)}).text
KOSMADIGI_GUN.append(kosmuyor.strip())
ortalama_puan = soup.find("td", attrs={
"id": "grdProgTamEkran_dxdt{}_grdProgramTekKosuAtBilgi_tccell{}_15".format(j, i)}).next_sibling.text
ORTALAMA_PUAN.append(int(ortalama_puan.strip()))
Inputt=iter(AGF)
Inputt1=iter(NO)
Inputt2=iter(ATADI)
Inputt3=iter(TAKI)
Inputt4=iter(AYGIR_KISRAK)
Inputt5=iter(KILO)
Inputt6=iter(JOKEY)
Inputt7=iter(ATSAHIBI_ANTRENOR)
Inputt8=iter(START)
Inputt9=iter(HANDIKAP_PUANI)
Inputt10=iter(DERECE)
Inputt11=iter(KOSMADIGI_GUN)
Inputt12=iter(ORTALAMA_PUAN)
kosudaki_at_agfsi=[list(islice(Inputt, x)) for x in kosudaki_atsayisi]
kosudaki_at_numaralari=[list(islice(Inputt1, x)) for x in kosudaki_atsayisi]
kosudaki_at_adlari=[list(islice(Inputt2, x)) for x in kosudaki_atsayisi]
kosudaki_at_takilari=[list(islice(Inputt3, x)) for x in kosudaki_atsayisi]
kosudaki_at_aygir_kisrak=[list(islice(Inputt4, x)) for x in kosudaki_atsayisi]
kosudaki_at_kilolari=[list(islice(Inputt5, x)) for x in kosudaki_atsayisi]
kosudaki_at_jokeyleri=[list(islice(Inputt6, x)) for x in kosudaki_atsayisi]
kosudaki_at_atsahibi_antrenorleri=[list(islice(Inputt7, x)) for x in kosudaki_atsayisi]
kosudaki_at_startlari=[list(islice(Inputt8, x)) for x in kosudaki_atsayisi]
kosudaki_at_handikap_puanlari=[list(islice(Inputt9, x)) for x in kosudaki_atsayisi]
kosudaki_at_dereceleri=[list(islice(Inputt10, x)) for x in kosudaki_atsayisi]
kosudaki_at_kosmadigi_gun=[list(islice(Inputt11, x)) for x in kosudaki_atsayisi]
kosudaki_at_ortalama_puanlari=[list(islice(Inputt12, x)) for x in kosudaki_atsayisi]
kosular=list(zip(kosudaki_at_agfsi,kosudaki_at_numaralari, kosudaki_at_adlari,kosudaki_at_takilari,
kosudaki_at_aygir_kisrak,kosudaki_at_kilolari,kosudaki_at_jokeyleri,kosudaki_at_atsahibi_antrenorleri,
kosudaki_at_startlari,kosudaki_at_handikap_puanlari,kosudaki_at_dereceleri,kosudaki_at_kosmadigi_gun,
kosudaki_at_ortalama_puanlari))
kosu_bilgisi_duzen=[KOSU_BILGISI[x:x + 13] for x in range(0, len(KOSU_BILGISI), 13)]
KOSULAR=[]
for i in range(0, len(kosular)):
df=pd.DataFrame(data=np.transpose(kosular[i]), columns=[kosu_bilgisi_duzen[i], BASLIK]).sort_values(by=AGF,ascending=False)
KOSULAR.append(df)
with pd.ExcelWriter("C:\\Users\\Recep_PC\\Desktop\\Panda\\{}{}.xlsx".format(liste[t],tarih)) as writer:#hangi sehirde koşu varsa o isimde excell dosyası oluşturuyor.
for l in range(0, len(kosudaki_atsayisi)):
KOSULAR[l].to_excel(writer, sheet_name="Kosu{}".format(l+1))