Ich habe Daten, auf die über eine http-Anfrage zugegriffen wird und die vom Server in einem durch Kommas getrennten Format zurückgesendet werden. Ich habe den folgenden Code:
site= 'www.example.com'
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(site,headers=hdr)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
soup = soup.get_text()
text=str(soup)
Der Inhalt des Textes ist wie folgt:
april,2,5,7
may,3,5,8
june,4,7,3
july,5,6,9
Wie kann ich diese Daten in einer CSV-Datei speichern? Ich weiß, dass ich etwas in der folgenden Richtung tun kann, um Zeile für Zeile zu iterieren:
import StringIO
s = StringIO.StringIO(text)
for line in s:
Aber ich bin mir nicht sicher, wie ich jetzt jede Zeile richtig in CSV schreiben soll
BEARBEITEN ---> Vielen Dank für das vorgeschlagene Feedback. Die Lösung war ziemlich einfach und ist unten zu sehen.
Lösung:
import StringIO
s = StringIO.StringIO(text)
with open('fileName.csv', 'w') as f:
for line in s:
f.write(line)
StringIO
Import überhaupt brauchen , um ehrlich zu sein. Außerdem trennt die Lösung wie sie ist wahrscheinlich nicht die Zeilen, daf.write()
Zeilenumbrüche nicht automatisch angehängt werden.Antworten:
Allgemeiner Weg:
ODER
Verwenden des CSV-Writers:
ODER
Einfachster Weg:
quelle
with open(<path to output_csv>, "w", newline='') as csv_file:
for line in data:
. Bitte beheben Sie das. Danke dir.'a'
(Anhänge-Modus) anstelle von'w'
(Schreibmodus).Sie können einfach in die Datei schreiben, wie Sie jede normale Datei schreiben würden.
Wenn es sich nur um eine Liste von Listen handelt, können Sie das integrierte
csv
Modul direkt verwendenquelle
Ich würde einfach jede Zeile in eine Datei schreiben, da sie bereits in einem CSV-Format vorliegt:
Ich kann mich im Moment nicht erinnern, wie man Zeilen mit Zeilenumbrüchen schreibt: p
Auch könnten Sie einen Blick auf, diese Antwort über
write()
,writelines()
und'\n'
.quelle
Um die vorherigen Antworten zu ergänzen, habe ich eine kurze Klasse zum Schreiben in CSV-Dateien erstellt. Es erleichtert das Verwalten und Schließen geöffneter Dateien sowie das Erreichen von Konsistenz und sauberem Code, wenn Sie mit mehreren Dateien arbeiten müssen.
Anwendungsbeispiel:
Habe Spaß
quelle
Was ist damit:
quelle