首页 > 解决方案 > 在正在读取的 csv 文件的“n”位置添加一行

问题描述

正如我所搜索的那样,它似乎并没有那么容易同时阅读和编辑,事实上,我还没有设法实现它。但最让我困惑的是如何在我的 csv 的“n”行中添加一个元素,例如我想在我的csv.

我的csv.csv

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

我的代码:

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"

标签: python

解决方案


读取所有行然后写入应该可以工作:

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))

推荐阅读