Wpis z mikrobloga

@mathix: Minimalnie zmieniłem kod, ale problem wciąż istnieje. Zauważyłem, że w pliku csv ostatnią kolumnę zapisuje mi jako "=ROUND(B2*C2,2)", czyli zamiast średnika wstawia przecinek. W oryginalnych pikach są średniki. Jaki może być powód? Jak otwieram plik csv w libre office, to w tej kolumnie pojawia się "Błąd:509". Jak zmienię na średnik to i tak jest "#arg!". Nie mogę w internecie znaleźć rozwiązania tego problemu ;/ Chciałbym na razie spróbować
  • Odpowiedz
@mefistofiel: Dziwne, w pierwszej wersji miałem to wpisane, ale pokazywało mi None. Teraz wpisałem to ponownie i działa. Wiesz może czemu formuła nie działa jak się otwiera plik csv przez libre office?
  • Odpowiedz
@Griffith: podobno openpyxl nie oblicza wartości formuł przy otwarciu pliku, tylko pobiera ostatnie zapisane wartości formuł. Jak otworzyłeś xlsx w libre office i miałeś błąd w formule, i zapisałeś plik w ten sposób, to wtedy ta wartość została pobrana przez openpyxl - przynajmniej taka jest moja teoria, nie mam libre office to nie sprawdzę. Opieram się na tym co napisano tutaj, sam niewiele miałem z tym do czynienia:
https://stackoverflow.com/questions/28517508/read-excel-cell-value-and-not-the-formula-computing-it-openpyxl
  • Odpowiedz
@mefistofiel: Dziękuję za informacje. W xlsx formuły są w porządku, ale jak je sczytam do csv, to robią się w nich błędy. Z "=ROUND(B2*C2;2)" robiło mi się "=ROUND(B2*C20,2)", a jak próbowałem zmienić ręcznie, to wyskakiwało "#arg!". No nic, pandas jest chyba i tak częściej uzywanym modułem, to może tam nie ma takich kwiatków.
  • Odpowiedz