Seite 1 von 1

pandas to_csv falsches Zahlenformat

Verfasst: Freitag 1. September 2023, 07:22
von vanKey
Hallo zusammen,

ich versuche seit längerem, eine Zahl, die in einem pandas-Dataframe steht in eine csv-Datei zu schreiben (s. Minimalbeispiel unten).
Das Problem ist, dass sobald ich den index und den header als "False" setze, das Format in der csv-Datei nicht mehr stimmt.
Er gibt mir in der csv-Datei "1.123.456.789" aus, aber nicht "1.123456789". Kann mir hier jemand helfen?

VG
vanKey

Code: Alles auswählen

import numpy as np
import pandas as pd
import os
import math
import matplotlib.pyplot as plt

abc=pd.DataFrame([1.123456789])

abc.to_csv("abc.csv",index=False,header=False)

print(abc)
print(type(abc))

Re: pandas to_csv falsches Zahlenformat

Verfasst: Freitag 1. September 2023, 08:09
von Sirius3
Das Problem ist, dass Excel ein Schrottprogramm ist. Das erwartet je nach Ländereinstellung andere Zahlenformate, für die Deutsche Einstellung eben Kommazahlen mit Komma. Ein Punkt wird als Tausender-Trennzeichen interpretiert. Die CSV-Datei ist korrekt, das Laden in Excel ist das Problem.

Re: pandas to_csv falsches Zahlenformat

Verfasst: Freitag 1. September 2023, 08:31
von grubenfox
im Zweifel mal versuchen die eigentliche csv-Datei als "abc.txt" zu speichern und diese *.txt-Datei in Excel zu laden bzw. mit Excel zu öffnen. Excel verhält unterschiedlich, je nach Endung der Datei (*.csv oder eben *.txt)

Re: pandas to_csv falsches Zahlenformat

Verfasst: Freitag 1. September 2023, 09:32
von vanKey
Ok top Danke für die Info :)

Re: pandas to_csv falsches Zahlenformat

Verfasst: Freitag 1. September 2023, 09:41
von noisefloor
Hallo,

wenn die CSV-Datei für Excel bestimmt ist - warum schreibst du nicht direkt eine XLSX-Datei aus Pandas? Dann sollte das Problem in der Form nicht auftreten.

Gruß, noisefloor

Re: pandas to_csv falsches Zahlenformat

Verfasst: Freitag 1. September 2023, 09:45
von grubenfox
oder so...