我必须在我的csv文件中为特定单元格(比如第8个单元格)写一个值.我可以看到有一种csvwriter.writerow(row)方法可以写一整行,但我没有看到任何东西要写一个特定的单元格的值.
Ten*_*she 10
该CSV模块提供了一些工具来读取和写入的CSV文件,但不允许修改特定的细胞原位.
即使csvwriter.writerow(row)您在问题中突出显示的方法也不允许您识别和覆盖特定行.而是将row参数写入writer的文件对象,实际上它只是在一行中附加与writer关联的csv文件.
不要劝阻使用csv模块,它使用起来很简单,如果你可以相对容易地实现你正在寻找的更高级别的功能.
例如,看看以下csv文件:
1,2,3,four,5
1,2,3,four,5
1,2,3,four,5
Run Code Online (Sandbox Code Playgroud)
这个词four在第3列(第四列,但是一行只是一个列表,因此索引基于零),这可以很容易地更新为包含4带有以下程序的数字:
import csv
in_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()
Run Code Online (Sandbox Code Playgroud)
导致输出:
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)
当然,创建一些允许识别和更新特定行和列的通用函数是一项更多的工作,但在Python中操作csv文件只是操作一系列列表.
| 归档时间: |
|
| 查看次数: |
31242 次 |
| 最近记录: |