2017-10-10 8 views
0

Je reçois les données de mongodb & en utilisant la méthode csv.DictWriter pour écrire les valeurs json dans le fichier csv, mais en écrivant, je reçois une ligne vide après chaque ligne .écrire des données json dans un fichier csv en utilisant python/pymongo

Comment éviter ces lignes vides?

Code Snippet: (je fais quelques manipulations de données que je ne mentionnaient pas ici)

with open('test_output.csv', 'w') as csvfile: 
    fields = ['date', 'ns', 'storageSize'] 
    writer = csv.DictWriter(csvfile, fieldnames=fields) 
    writer.writeheader() 
    stats = client['db_stats'].coll_stats.find({}) 
    for x in stats: 
    writer.writerow({'date': x["date"], 'ns': x["ns"], 'storageSize': x["storageSize"]}); 

Sortie: (avec des lignes vides après chaque écriture)

enter image description here

+1

La copie possible de [fichier CSV écrit avec Python a des lignes vides entre chaque ligne] (https://stackoverflow.com/questions/3348460/csv-file-written-with-python-has-blank-lines-between- chaque ligne) – GiantsLoveDeathMetal

Répondre

0

Vous peut résoudre le problème après le fait avec les pandas:

import pandas as pd # import pandas 
data = pd.read_csv('test_output.csv') # pull in csv file 
data = data.iloc[::2] # chop every 2nd row from frame 
data.to_csv('test_output.csv',index=False) # save over csv 

Vous devrait être capable de simplement ajouter l'extrait ci-dessus à la fin de votre code existant.

+0

N'utiliserait pas cette méthode pour de grandes quantités de données. –