Comme je l'ai cherché, il ne semble pas si facile à lire et à éditer en même temps en fait, je n'ai pas réussi à y parvenir. mais ce qui me dérange le plus, c'est comment ajouter un élément dans une ligne "n" de mon csv, par exemple je veux ajouter une ligne dans la ligne 2 de mon csv.

mycsv.csv

name,last name
yeison, smith
lola, boa
elmo, spitia
anderson, exneider
juan, ortega

Mon code:

with open("mycsv.csv", "r") as rfh:
 r = csv.DictReader(rfh)
 for idx, row in enumerate(r): #nothing happens
     print(r)    
 with open("mycsv.csv", "a") as wfh:
     if(idx==2):
        #append element "german,ezequiel"
3
yavg 18 mars 2019 à 08:17

2 réponses

Meilleure réponse

Lire toutes les lignes puis écrire devrait fonctionner:

with open('mycsv.csv', 'r') as f:
    lines = f.readlines()

lines.insert(2, 'german, ezequiel')

with open('mycsv.csv', 'w') as f:
    f.write(''.join(lines))
2
yuji 18 mars 2019 à 05:23

Vous pouvez utiliser pandas.

import pandas as pd 

df = pd.read_csv("mycsv.csv")

line = pd.DataFrame({"name": 'XYZ', "last name": 'ABC'}, index=[2])
df2 = pd.concat([df.ix[:1], line, df.ix[2:]]).reset_index(drop=True)

df2.to_csv("mycsv.csv", index=False)
0
Sociopath 18 mars 2019 à 05:24