Ich ziehe Daten von einem Rally-Server und möchte sie in eine CSV-Datei schreiben und Snapshots erstellen. ich die Datei erschaffe mit:Abgrenzen einer von Python Script erstellten CSV-Datei
orig_stdout = sys.stdout
timestr = time.strftime("%m-%d-%Y")
f = open(timestr+'FileName.csv', 'w')
sys.stdout = f
#all of the setup and functions
sys.stdout = orig_stdout
f.close()
Der Ausgang I Datei schreibe kommt aus:
for item in response:
print("%s, %s, %s, %s" % (item.Attribute1, item.Attribute2, item.Attribute3, item.Attribute4))
Das Problem ist, dass die Saiten gelegentlich schon in ihm ein Komma haben. Dies gilt für jeden üblichen Charakter. Ich möchte die Kommas in den Strings nicht ersetzen.
Gibt es einen besonderen Charakter, den ich, dass eine Excel-CSV-Datei korrekt in Spalten aufteilen würde erkennen und in der Lage verwenden kann, oder kann ich sagen, irgendwie die Datei mit einem mehr Zeichen zu begrenzen, wie „,,“
Haben Sie sich das 'csv' Modul angeschaut? –
Oh, ich fühle mich jetzt dumm; Ich bin neu bei Python (ich arbeite hauptsächlich mit SQL oder Tools wie Tableau). Meine anfängliche Suche nach einer Antwort brachte das csv-Modul nicht zum Vorschein, aber ich hätte vermuten können, dass es eines gab. Danke für die Hilfe. – LlyfrTaliesin
Ein Hinweis, wenn Sie mit Python noch nicht vertraut sind: Sys.stdout nicht in eine Datei umleiten, nur um print zu verwenden. Verwenden Sie stattdessen einen Ansatz wie 'mit Öffnen ('file.csv', 'w') als out: out.write ('text')' – MrTrustworthy