Seite 1 von 1

mit Tabstop-Trenner in TXt schreiben?

Verfasst: Donnerstag 31. Mai 2007, 12:31
von mod_che
Hallo,
ich möchte für Zeitschritte von 1 bis 2000 jeweils verschiedene Werte in eine TXT-Dateiausgeben lassen, also zB:

n Geld Leute Häuser
1 100 3 0
2 1000 3 1
3 500 2 2
4 1000 2 0

Kann ich irgendwie erreichen, dass Python zwischen den Werten Tabstops schreibt, weil ich die Datei später in Excel übernehmen will?
Ich habs schon mit Formatierungen ala '%15.3f%15.3f' %(wert1, wert2) probiert, das blickt später Excel aber nicht richtig.

Danke und Grüße
Michael

Verfasst: Donnerstag 31. Mai 2007, 12:33
von querdenker
schau dir mal in den Docs die Ausgabeformatierung an :wink:

dürfte helfen.

hth, querdenker

Verfasst: Donnerstag 31. Mai 2007, 12:41
von veers
Dafür hat Python ein csv Modul. ;)

Verfasst: Donnerstag 31. Mai 2007, 12:44
von Zap
kann man da nicht besser csv Dateien verwenden?
Also duch Semicolon getrennte Werte:

Code: Alles auswählen

n;Geld;Leute;Häuser 
1;100;3;0 
2;1000;3;1 
3;500;2;2 
4;1000;2;0
Zu spät ;)

Verfasst: Donnerstag 31. Mai 2007, 12:48
von CM
Alternativ kannst Du natürlich auch direkt in Dateien im Excel-Format schreiben. (Forumsuche dürfte Einiges zu Tage fördern.)

Aber ich bleibe auch oft im Textformat ...

Gruß,
Christian

Verfasst: Donnerstag 31. Mai 2007, 14:09
von mod_che
querdenker hat geschrieben:schau dir mal in den Docs die Ausgabeformatierung an :wink:

dürfte helfen.

hth, querdenker
Ja, das macht mich schon glücklich, mal sehen, was Excel jetzt macht...
Danke Euch.

Re: mit Tabstop-Trenner in TXt schreiben?

Verfasst: Freitag 27. August 2010, 10:17
von mgraf
Dieses Thema ist zwar schon etwas länger her, aber es trifft mein Problem am ähnlichsten.
Und zar ich möchte meine Daten, die in einer MySQL-Datenbank gespeichert werden in eine csv-Datei ausgeben, funktioniert auch wunderbar.

Allerdings habe ich jetzt in einer Spalte folgenden Text:

Code: Alles auswählen

Prim. Dr; Physiotherapeut
beim Export werden diese Werte aber getrennt und eine Spalte verschoben, weil ich als Trennzeichen ja ; verwende.

Gibt es eine Möglichkeit solche bösen Zeichen zu escapen?

Mein Code bisher:

Code: Alles auswählen

for user in userdetaildata:
  print "%s;%s;%s;%s" % (userdetaildata[i].hash,
    userdetaildata[i].function,
    userdetaildata[i].firstname,
    userdetaildata[i].lastname,
)
  i += 1

RESPONSE.setHeader("Content-type","application/vnd.ms-excel;;charset=UTF-8")
RESPONSE.setHeader("Content-disposition","attachment;filename=mozart-science.csv")

return printed
PS: ich verwende ein Restricted Python, also sind nicht alle Imports möglich!!
PPS: Zope/Plone :?

lg
michi

Re: mit Tabstop-Trenner in TXt schreiben?

Verfasst: Freitag 27. August 2010, 10:43
von cofi
mgraf hat geschrieben:Dieses Thema ist zwar schon etwas länger her, aber es trifft mein Problem am ähnlichsten.
Du solltest trotzdem keine fremden Threads kapern.

CSV versteht das quoting von Trennzeichen, für den Fall das du kein Masochist bist gibt es das CSV-Modul.
Wenn du doch einer bist, musst du wohl erst das CSV-Format verstehen lernen und dann selbst implementieren: Wikipedia ist ein guter Anfang.