Προς το περιεχόμενο

Excel Μετατροπή Μορφής Αριθμού


profile

Προτεινόμενες αναρτήσεις

Αυτό είναι παιχνίδι με 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')

 

 

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Το έψαξα λίγο και βρήκα την παρακάτω συνάρτηση:

=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/

Επεξ/σία από micos000
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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).

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

7 λεπτά πριν, dpolal είπε

😟🤔😯😵 (διαδοχικές εκφράσεις της φάτσας μου προσπαθώντας να το διαβάσω, seriously).

😁

 

Πρόσθεσα στο τέλος το λινκ από το site που το βρήκα μήπως βγάλεις άκρη. ;)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...