mit Tabstop-Trenner in TXt schreiben?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

mit Tabstop-Trenner in TXt schreiben?

Beitragvon mod_che » Donnerstag 31. Mai 2007, 12:31

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
Python rockt.
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Beitragvon querdenker » Donnerstag 31. Mai 2007, 12:33

schau dir mal in den Docs die Ausgabeformatierung an :wink:


dürfte helfen.

hth, querdenker
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Donnerstag 31. Mai 2007, 12:41

Dafür hat Python ein csv Modul. ;)
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Beitragvon Zap » Donnerstag 31. Mai 2007, 12:44

kann man da nicht besser csv Dateien verwenden?
Also duch Semicolon getrennte Werte:
[code=]n;Geld;Leute;Häuser
1;100;3;0
2;1000;3;1
3;500;2;2
4;1000;2;0[/code]

Zu spät ;)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Beitragvon CM » Donnerstag 31. Mai 2007, 12:48

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
mod_che
User
Beiträge: 46
Registriert: Freitag 13. April 2007, 16:58
Kontaktdaten:

Beitragvon mod_che » Donnerstag 31. Mai 2007, 14:09

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.
Python rockt.
mgraf
User
Beiträge: 34
Registriert: Donnerstag 14. Juni 2007, 11:46

Re: mit Tabstop-Trenner in TXt schreiben?

Beitragvon mgraf » Freitag 27. August 2010, 10:17

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
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Re: mit Tabstop-Trenner in TXt schreiben?

Beitragvon cofi » Freitag 27. August 2010, 10:43

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.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]