❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
nji
Beiträge: 22
Registriert: Sa 1. Jul 2017, 15:29

Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von nji » Sa 1. Jul 2017, 15:39

Hallo.
Wenn ich beigefügte Datei mit Calc einlesen lasse/ importiere, dann wird die 13. Zeile fehlerhafterweise als 17543 eingelesen, wenn ich beim Importfenster Deutsch als Sprache eingestellt habe (= mein Standard). (Ändere ich auf Englisch, ist alles OK.). In dem Vorschaufenster des Textimports wird es immer richtig angezeigt. Meine Version: Version: 5.2.7.2 (x64). Bei einer 5.3-er Version war der Effekt aber auch. Mache ich da was verkehrt, oder ist es ein Fehler?
Dateianhänge
liste.zip
(233 Bytes) 203-mal heruntergeladen

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von mikele » Sa 1. Jul 2017, 16:13

Hallo
das Verhalten liegt an der Zahlenerkennung. In der Sprache "deutsch" ist der Punkt das Tausender-Trennzeichen und das Komma der Dezimaltrenner. In "englisch" ist es genau anders herum. Du kannst aber auch mit der Spracheinstellung "deutsch" zum richtigen Ziel kommen:
Klicke im Importfenster im Vorschaubereich (unterhalb von Feldbefehle Spaltentyp) in die Spalte. Dann kannst bei Spaltentyp "US-Englisch" auswählen und die Zahlen werden korrekt importiert.
Gruß,
mikele

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von F3K Total » Sa 1. Jul 2017, 16:21

Hi,
hast du dir die Datei mal in einem Editor angesehen? Sieht so aus:

Code: Alles auswählen

1.29948,
0.175511,
0.249806,
0.123364,
0.0938669,
0.278259,
0.282859,
1.2317,
0.709869,
11.6873,
13.0799,
6.70087,
17.543,
25.0048,
Der Dezimaltrenner ist ein Punkt (englisch), der Spaltentrenner ein Komma, deutscher Dezimaltrenner also.
In der 13. Zeile hast du nur drei Stellen hinter dem Punkt, der daher in deutsch als Tausender-Trenner interpretiert wird. Das Programm macht alles richtig.
Da es sich um eine englische Datei handelt, solltest du sie auch Englisch importieren, wie du schreibst, ist dann alles i.O.
Du kannst natürlich die .csv vorher mit einem Editor bearbeiten, z.B. Komma durch Semikolon und dann Punkt durch Komma ersetzen, dann wird die Datei problemlos eingelesen:

Code: Alles auswählen

1,29948;
0,175511;
0,249806;
0,123364;
0,0938669;
0,278259;
0,282859;
1,2317;
0,709869;
11,6873;
13,0799;
6,70087;
17,543;
25,0048;
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

nji
Beiträge: 22
Registriert: Sa 1. Jul 2017, 15:29

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von nji » Sa 1. Jul 2017, 17:06

Oh, DA wäre ich so schnell nicht drauf gekommen. Dankeschön! :P

Allerdings möchte ich zu meiner "Verteidigung" anbringen, dass ich nicht der Meinung bin, dass das Programm "alles richtig macht".
Denn dann hätte es (wenn es denn schon bei gewähltem Deutsch als 1000er-Trenner interpretiert) alle anderen Zahlen, bei denen der Punkt keine 3er-Abstände von rechts her hat, einen Importfehler melden müssen. Und dann wäre das auch mir aufgefallen. Schaut man in das Importergebnis: Alles Zahlen - nullo problemo.

Das ist jetzt nicht als "Mäkelei" gedacht, sondern ich halte die Realisation, so wie es jetzt ist, für SEHR gefährlich. Eben deswegen, weil es einem i.d.R. nicht auffällt, dass irgendwo tief im Datenbestand etwas falsch interpretiert wird.

Ich plädiere also dafür, den Importfilter mit einer entsprechenden Fehlermeldung auszustatten.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von F3K Total » Sa 1. Jul 2017, 17:12

Ja,
dein Plädoyer wird hier leider nichts bewirken, dies ist ein privates Anwenderforum, in dem eben Anwender in ihrer Freizeit anderen Anwendern zu helfen versuchen.
Du kannst eine Meldung im BUGZILLA des LibreOffice-Projektes schreiben.
Gruß R
EDIT: Wird wohl nicht nötig sein, mikele hat es im folgenden Beitrag erläutert.
Zuletzt geändert von F3K Total am Sa 1. Jul 2017, 17:18, insgesamt 1-mal geändert.
Windows 11: AOO, LO Linux Mint: AOO, LO

mikele
* LO-Experte *
Beiträge: 1947
Registriert: Mo 1. Aug 2011, 20:51

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von mikele » Sa 1. Jul 2017, 17:13

Hallo,
Schaut man in das Importergebnis: Alles Zahlen - nullo problemo.
Einspruch euer Ehren: Es sieht zwar so aus, als wenn es Zahlen wären, aber Calc hat die anderen Zahlen als Text importiert (erkennst du an der linksbündigen Formatierung). Wenn du z. B. in der Zelle B1 =A1*2 rechnest, erhältst du entsprechend eine Fehlermeldung.
Insofern macht Calc dann doch alles richtig, indem es 1.29948 als Text erkennt (was sollte es im Deutschen auch sonst sein) und 17.543 eben als Zahl. Alles andere (das es sich um Zahlen im englischen Format handelt) muss ich Calc dann schon verklickern. Man könnte sich natürlich eine intelligente Erkennung wünschen, aber das wäre eine ganz andere Herausforderung für die Entwickler (und es gibt sicher noch andere Formate in anderen Sprachen etc. ...).
Gruß,
mikele

nji
Beiträge: 22
Registriert: Sa 1. Jul 2017, 15:29

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von nji » Sa 1. Jul 2017, 17:23

Potztausend ... Du hast Recht!

Das war mir zwar optisch aufgefallen ... aber es hat nicht "Klick!" gemacht.
(Immerhin bin ich in Calc per Rechtsklick in die Zelle gegangen/ Formate ... und da kam: Zahl!)

Die ganze Handhabung sieht schon logisch und korrekt aus. Aber ich habe trotzdem ein ziemlich ungutes Gefühl, weil ich bestimmt nicht der Einzige bin, der in diese Grube fällt. Und richtig gefährlich wird's ja eben erst dann, wenn es einem nicht auffällt.

Ich werde mal drüber nachdenken und wenn ich zu was Vernünftigem komme einen Vorschlag bei bugzilla machen.
(Automatische Erkennung scheint mir keine gute Idee zu sein ...)

Aber eine Liste, die CommaSeparierteValues enthält (csv) KANN im Prinzip keine deutsche Dezimalzahlen enthalten ...

Hmm...

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Textimport einer csv-Datei mit Zahlen fehlerhaft mit Sprache Deutsch

Beitrag von F3K Total » Sa 1. Jul 2017, 17:36

nji hat geschrieben:
Sa 1. Jul 2017, 17:23
Aber eine Liste, die CommaSeparierteValues enthält (csv) KANN im Prinzip keine deutsche Dezimalzahlen enthalten ...
Oh doch,
dann werden Feldbegrenzerzeichen benutzt, siehe https://de.wikipedia.org/wiki/CSV_(Dateiformat)
So z.B.

Code: Alles auswählen

ZAHL,ZAHL1
"445,245","445,245"
"340,263","340,263"
"579,291","579,291"
"913,48","913,48"
"827,438","827,438"
"511,32","511,32"
"99,178","99,178"
"285,046","285,046"
"233,93","233,93"
"829,842","829,842"
"209,233","209,233"
"920,864","920,864"
"274,355","274,355"
"618,596","618,596"
"82,479","82,479"
"616,364","616,364"
"492,85","492,85"
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten