J'ai des données qui sont accessibles via une requête http et renvoyées par le serveur dans un format séparé par des virgules, j'ai le code suivant :
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)
Le contenu du texte est le suivant :
avril,2,5,7
mai,3,5,8
juin,4,7,3
juillet,5,6,9
Comment puis-je sauvegarder ces données dans un fichier CSV. Je sais que je peux faire quelque chose le long des lignes suivantes pour itérer ligne par ligne :
import StringIO
s = StringIO.StringIO(text)
for line in s:
Mais je ne suis pas sûr comment écrire correctement chaque ligne dans un CSV
EDIT---> Merci pour les commentaires comme suggéré la solution était plutôt simple et peut être vue ci-dessous.
Solution:
import StringIO
s = StringIO.StringIO(text)
with open('nomDuFichier.csv', 'w') as f:
for line in s:
f.write(line)
2 votes
C'est déjà un CSV, il vous suffit d'écrire chaque ligne dans un fichier...
2 votes
Je ne suis pas sûr que vous ayez même besoin de l'importation de
StringIO
, pour être honnête. De plus, la solution telle quelle ne sépare probablement pas les lignes, carf.write()
n'ajoute pas automatiquement de sauts de ligne.1 votes
@icedwater Je comprends ce que vous dites, mais j'ai exécuté le code ci-dessus et il a pu stocker correctement les données dans un fichier csv.
1 votes
Voir aussi: Comment lire et écrire des fichiers CSV avec Python?