该 CSV模块 提供了一些工具来读取和写入的CSV文件,但
不允许修改特定的细胞原位 。
即使
csvwriter.writerow(row)您在问题中突出显示的方法也不允许您标识和覆盖特定行。而是将
row参数写入编写器的文件对象,实际上,它只是将与编写器关联的csv文件追加了一行。
但是,不要劝阻使用 csv模块
,它使用起来很简单,并且只要您可以相对容易地实现所需的高级功能,就可以使用基元。
例如,查看以下csv文件:
1,2,3,four,51,2,3,four,51,2,3,four,5
该单词
four在第3列中(第四列,但一行仅是一个列表,因此索引从零开始),可以
4使用以下程序轻松地将其更新为包含数字:
import csvin_file = open("d:/in.csv", "rb")reader = csv.reader(in_file)out_file = open("d:/out.csv", "wb")writer = csv.writer(out_file)for row in reader: row[3] = 4 writer.writerow(row)in_file.close() out_file.close()结果输出:
1,2,3,4,51,2,3,4,51,2,3,4,5
允许创建一些通用的函数来允许标识和更新特定的行和列是一件繁重的工作,但由于在Python中操纵一个csv文件只是操纵一个列表序列而已。



