J'ai des données auxquelles on accède via une requête http et qui sont 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:
april,2,5,7
may,3,5,8
june,4,7,3
july,5,6,9
Comment puis-je enregistrer ces données dans un fichier CSV. Je sais que je peux faire quelque chose du genre de ce qui suit pour itérer ligne par ligne:
import StringIO
s = StringIO.StringIO(text)
for line in s:
Mais je ne sais pas comment écrire correctement chaque ligne en CSV
EDIT ---> Merci pour les commentaires suggérés, la solution était plutôt simple et peut être vue ci-dessous.
Solution:
import StringIO
s = StringIO.StringIO(text)
with open('fileName.csv', 'w') as f:
for line in s:
f.write(line)
StringIO
importation, pour être honnête. De plus, la solution telle quelle ne sépare probablement pas les lignes, car ellef.write()
n'ajoute pas automatiquement de nouvelles lignes.Réponses:
Manière générale:
OU
Utilisation de l'enregistreur CSV:
OU
Manière la plus simple:
la source
with open(<path to output_csv>, "w", newline='') as csv_file:
for line in data:
. Veuillez corriger cela. Je vous remercie.'a'
(mode ajout) à la place de'w'
(mode écriture).Vous pouvez simplement écrire dans le fichier comme vous le feriez pour n'importe quel fichier normal.
Si juste au cas où il s'agit d'une liste de listes, vous pouvez directement utiliser le
csv
module intégréla source
J'écrirais simplement chaque ligne dans un fichier, car il est déjà au format CSV:
Je ne me souviens pas comment écrire des lignes avec des sauts de ligne pour le moment, cependant: p
En outre, vous voudrez peut - être jeter un oeil à cette réponse au sujet
write()
,writelines()
et'\n'
.la source
Pour compléter les réponses précédentes, j'ai créé une classe rapide pour écrire dans des fichiers CSV. Cela facilite la gestion et la fermeture des fichiers ouverts et assure une cohérence et un code plus propre si vous devez gérer plusieurs fichiers.
Exemple d'utilisation:
S'amuser
la source
Et ça:
la source