Python scrive su CSV riga per riga
Ho dei dati a cui si accede tramite richiesta http e che vengono rimandati indietro dal server in un formato separato da virgole, ho il seguente codice:
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)
Il contenuto del testo è il seguente:
april,2,5,7
may,3,5,8
june,4,7,3
july,5,6,9
Come posso salvare questi dati in un file CSV. So che posso fare qualcosa sulla falsariga di quanto segue per iterare riga per riga:
import StringIO
s = StringIO.StringIO(text)
for line in s:
Ma non sono sicuro di come scrivere correttamente ogni linea in CSV
EDIT---> Grazie per il feedback come suggerito la soluzione era piuttosto semplice e può essere vista qui sotto.
Soluzione:
import StringIO
s = StringIO.StringIO(text)
with open('fileName.csv', 'w') as f:
for line in s:
f.write(line)
78
3
Modo generale:
O
Usando lo scrittore CSV :
O
Modo più semplice:
Potreste semplicemente scrivere sul file come scrivereste qualsiasi file normale.
Se, nel caso, si tratta di una lista di liste, si potrebbe usare direttamente il modulo integrato
csv
.Scriverei semplicemente ogni riga in un file, dato che è già in formato CSV:
Non riesco a ricordare come scrivere linee con interruzioni di linea al momento, però :p
Inoltre, potresti dare un'occhiata a questa risposta su
write()
,writelines()
, e'\n'
.