elio_1 Δημοσ. 5 Σεπτεμβρίου 2023 Δημοσ. 5 Σεπτεμβρίου 2023 Αυτό είναι παιχνίδι με python... πχ από το ewrc-results.com για το finland rally (wrc) Spoiler import urllib.request from bs4 import BeautifulSoup as soup import re import pandas as pd link = 'https://www.ewrc-results.com/results/80241-secto-rally-finland-2023/?s=' startat, no_ss=414972, int(22) #monte_23 = pd.DataFrame(columns=['Pos.', 'Pilote / Co-pilote', 'Voiture', '#', 'Temps', 'Écart']) rally_23 = [] canceled = [] stages = [number for number in range(no_ss)] if canceled: for j in canceled: stages.remove(j-1) for ss in stages: val= startat + ss ss_a = str(val) my_url11 = link + ss_a #print(my_url11) req = urllib.request.Request(my_url11, headers={'User-Agent': 'Mozilla/5.0'}) uClient11 = urllib.request.urlopen(req) page_html11 = uClient11.read() uClient11.close() data = pd.read_html(page_html11)[0] data.columns=['Pos.', 'No', 'Crew', 'Gr/Cl','ss_time', 'Diff', 'Speed'] data['ss']=ss+1 equal = '=' in data['Pos.'].unique() if equal: data['Pos.'] = data['Pos.'].replace('=', method='ffill') data['Pos.'] = data['Pos.'].astype(str).astype(float) rally_23.append(data) rally2023_stages = pd.concat(rally_23, axis=0) rally2023_stages.columns=['Pos.', 'No', 'Crew', 'Gr/Cl','ss_time', 'Diff', 'Speed', 'ss'] rally2023_stages['Pos.'] = rally2023_stages['Pos.'].astype(int) rally2023_stages.to_csv('Rally2023_st.csv', index=False) dataview = rally2023_stages.drop(['Diff','Speed','Pos.'], axis=1) dataview = dataview.fillna('-') data_view2 = dataview.set_index(['No', 'Crew', 'Gr/Cl','ss'], drop=True).unstack('ss') data_view2 = data_view2.fillna('-') data_view2.to_csv('Rally2023_comp.csv') 1
micos000 Δημοσ. 5 Σεπτεμβρίου 2023 Δημοσ. 5 Σεπτεμβρίου 2023 (επεξεργασμένο) Το έψαξα λίγο και βρήκα την παρακάτω συνάρτηση: =IF(SUM(LEN(E2)-LEN(SUBSTITUTE(E2; {"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}; "")))>0; SUMPRODUCT(MID(0&E2; LARGE(INDEX(ISNUMBER(--MID(E2;ROW(INDIRECT("$1:$"&LEN(E2)));1))* ROW(INDIRECT("$1:$"&LEN(E2)));0); ROW(INDIRECT("$1:$"&LEN(E2))))+1;1) * 10^ROW(INDIRECT("$1:$"&LEN(E2)))/10);"") Θέλει αντικατάσταση τα A2 με το πρώτο κελί των αποτελεσμάτων (μάλλον Ε2, το διόρθωσα ήδη). Αν δεν υπάρχει αριθμός στο κελί θα το αφήσει κενό. Τώρα, αν έχει παραπάνω από ένα νούμερο (22 fia #45) θα γίνει μπάχαλο. Την βρήκα εδώ -> https://trumpexcel.com/extract-numbers-from-string-excel/ Επεξ/σία 5 Σεπτεμβρίου 2023 από micos000 1
dpolal Δημοσ. 5 Σεπτεμβρίου 2023 Δημοσ. 5 Σεπτεμβρίου 2023 3 λεπτά πριν, micos000 είπε Το έψαξα λίγο και βρήκα την παρακάτω συνάρτηση: =IF(SUM(LEN(E2)-LEN(SUBSTITUTE(E2; {"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}; "")))>0; SUMPRODUCT(MID(0&E2; LARGE(INDEX(ISNUMBER(--MID(E2;ROW(INDIRECT("$1:$"&LEN(E2)));1))* ROW(INDIRECT("$1:$"&LEN(E2)));0); ROW(INDIRECT("$1:$"&LEN(E2))))+1;1) * 10^ROW(INDIRECT("$1:$"&LEN(E2)))/10);"") Θέλει αντικατάσταση τα A2 με το πρώτο κελί των αποτελεσμάτων (μάλλον Ε2). Αν δεν υπάρχει αριθμός στο κελί θα το αφήσει κενό. 😟🤔😯😵 (διαδοχικές εκφράσεις της φάτσας μου προσπαθώντας να το διαβάσω, seriously).
micos000 Δημοσ. 5 Σεπτεμβρίου 2023 Δημοσ. 5 Σεπτεμβρίου 2023 7 λεπτά πριν, dpolal είπε 😟🤔😯😵 (διαδοχικές εκφράσεις της φάτσας μου προσπαθώντας να το διαβάσω, seriously). 😁 Πρόσθεσα στο τέλος το λινκ από το site που το βρήκα μήπως βγάλεις άκρη.
profile Δημοσ. 5 Σεπτεμβρίου 2023 Μέλος Δημοσ. 5 Σεπτεμβρίου 2023 1 ώρα πριν, dpolal είπε Μπορεί να παίξει και μόνο με αυτό: MID(D3;FIND("#";D3)+1;FIND(" ";D3)-1) ανεξάρτητα αν το #xxx βρίσκεται στην αρχή ή στο τέλος αρκεί να βρεί ένα κενό διάστημα μέσα στο string Λοιπόν παιδιά, μισές δουλειές κάνετε (πλάκα κάνω). Ναι δουλεύει αλλά γιατί να χρειάζεται αυτό το κενό διάστημα (λέμε τώρα) 1 ώρα πριν, micos000 είπε Αν θέλεις μπορείς να κάνεις μια μορφοποίηση υπό όρους στη στήλη με τα νούμερα ούτως ώστε αν το περιεχόμενο έχει σφάλμα ή είναι κενό να το κοκκινίζει. Αυτό δεν το μπόρεσα. 1 ώρα πριν, micos000 είπε =IF(SUM(LEN(E2)-LEN(SUBSTITUTE(E2; {"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}; "")))>0; SUMPRODUCT(MID(0&E2; LARGE(INDEX(ISNUMBER(--MID(E2;ROW(INDIRECT("$1:$"&LEN(E2)));1))* ROW(INDIRECT("$1:$"&LEN(E2)));0); ROW(INDIRECT("$1:$"&LEN(E2))))+1;1) * 10^ROW(INDIRECT("$1:$"&LEN(E2)))/10);"") Θέλει αντικατάσταση τα A2 με το πρώτο κελί των αποτελεσμάτων (μάλλον Ε2, το διόρθωσα ήδη). Αν δεν υπάρχει αριθμός στο κελί θα το αφήσει κενό. Τώρα, αν έχει παραπάνω από ένα νούμερο (22 fia #45) θα γίνει μπάχαλο. Καλό, αλλά σε αυτή την περίπτωση #197 Skyline GT-R R34 τον ήπιαμε 19734 1 ώρα πριν, micos000 είπε Βάλτου ρε συ και μια επιλογή να τραβάει αυτόματα τα αποτελέσματα από το site και να τα περνάει στο excel Αφού σας βλέπω ορεξάτους εδώ έχω ένα XML που πρέπει να αποκρυπτογραφηθεί σε excel 2023_08_28_23_31_18-21WU.xml
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα