rzutowanie do int

Odpowiedz Nowy wątek
2018-10-11 15:34
Krzywy Szewc
0

Witam,
Mam problem z konwersją do int.
Wczytuję dane z excela
a = row[11] # tu jest jedna liczba
b = int(a) #<- tu wywala błąd
c = c + b

b = int(a)
ValueError: invalid literal for int() with base 10:

Domyślam się że row[11] jest traktowany jako string. Dlaczego nie udaje mi się tego zamienić na int?

Pozostało 580 znaków

2018-10-11 15:39
0

Na oko to masz tam pustego stringa i robisz int("")


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2018-10-11 17:05
Krzywy Szewc
0

To jak to zrobić poprawnie?

Pozostało 580 znaków

2018-10-11 17:17
0

Zobacz co tam jest.


Pozostało 580 znaków

2018-10-11 18:09
0
print(row[11], type(row[11]))

Po tym co ci wyświetli jako wynik będzie wiadomo z czym mamy doczynienia :).
Chyba że przeniosłeś nawyk z innego języka programowania, np. C/Java i te row nie jest jedenastym elementem string'a bądź jakiegoś zbioru indeksowanego ;p


Linux Mint
Arduino / Python 3.5.2

Pozostało 580 znaków

2018-10-11 20:09
Krzywy Szewc
0
Guaz napisał(a):
print(row[11], type(row[11]))

Po tym co ci wyświetli jako wynik będzie wiadomo z czym mamy doczynienia :).
Chyba że przeniosłeś nawyk z innego języka programowania, np. C/Java i te row nie jest jedenastym elementem string'a bądź jakiegoś zbioru indeksowanego ;p

Dzięki, przegapiłem że w 1 wierszu są ich nazwy, a dopiero w kolejnych liczby...

Pozostało 580 znaków

2018-10-12 09:03
1

Nie wiem, co konkretnie chcesz osiągnąć obrabiając te dane z excela, ale nie wygodniej byłoby Ci korzystać z np. Pandas? Wsparcie dla plików Excela jest, można śmiało wciągać i obrabiać ;)

Np zrzutowanie całej kolumny do typu liczbowego wyglądałoby mniej więcej tak:

prices_numeric = pandas.to_numeric(df["price"], errors="coerce") # dostajesz Series, błędne do NaN
 
df["price"] = pandas.to_numeric(df["price"], errors="ignore"]) # przypisujesz do kolumny, błędne wartości pozostaną niezmienione

Nie mówiąc o tym, że mógłbyś operować na nazwach kolumn, a nie ich indeksach które jak sam miałeś okazję się przekonać czasami się człowiekowi mieszają ;)


Blocker wiszący od miesiąca? Mówisz o tym criticalu z zeszłego tygodnia? A, tak, zalogowaliśmy przedwczoraj tego minor buga. Pewnie, zajmę się ASAP tym enhancementem. Nie ma sprawy, jak tylko podomykam taski to wezmę się za ten ficzer, tylko go jeszcze wyestymujemy przed kolejnym sprintem.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0