加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用python中的csv模块写入特定单元格

发布时间:2020-12-16 23:33:06 所属栏目:Python 来源:网络整理
导读:我必须在我的csv文件中为特定单元格(比如第8个单元格)写一个值. 我可以看到有一个csvwriter.writerow(row)方法来写一整行,但我没有看到任何东西要写一个特定的单元格的值. 解决方法 csv module 提供了读取和写入csv文件的工具,但不允许在适当位置修改特定单
我必须在我的csv文件中为特定单元格(比如第8个单元格)写一个值.
我可以看到有一个csvwriter.writerow(row)方法来写一整行,但我没有看到任何东西要写一个特定的单元格的值.

解决方法

csv module提供了读取和写入csv文件的工具,但不允许在适当位置修改特定单元.

即使您在问题中突出显示的csvwriter.writerow(行)方法也不允许您识别和覆盖特定行.而是将row参数写入writer的文件对象,实际上它只是在一行中附加与writer关联的csv文件.

不要被劝阻使用csv module,它使用起来很简单,如果您可以相对容易地实现您正在寻找的更高级别的功能.

例如,看看以下csv文件:

1,2,3,four,5
1,5

单词4在第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()

导致输出:

1,4,5

当然,创建一些允许识别和更新特定行和列的通用函数是一项更多的工作,但在Python中操作csv文件只是操作一系列列表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读