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

标签 python csv

我必须在我的 csv 文件中向特定单元格(比如第 8 个单元格)写入一个值。 我可以看到有一个 csvwriter.writerow(row) 方法可以写入整行,但我没有看到任何东西可以将值写入特定单元格。

最佳答案

csv module提供读取和写入 csv 文件的工具,但不允许就地修改特定单元格

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

不要被劝阻使用 csv module但是,它使用起来很简单,并且使用提供的原语可以相对轻松地实现您正在寻找的更高级别的功能。

例如,查看以下 csv 文件:

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

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

导致输出:

1,2,3,4,5
1,2,3,4,5
1,2,3,4,5

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

关于python - 在 python 中使用 csv 模块写入特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3699927/

相关文章:

python - OpenCV:如何将图像传递给其他方法?

Python hashlib - 列表理解的更新和摘要

python - 使用 Python 3.5 从 CSV 文件的两列中删除特定字符

python - 我如何让 IPython 按类组织制表符补全的可能性?

Python Setup.py - 作为对 TAR 或 GIT 的 url 的依赖

python - 减去数据帧 Pandas 时的NaN

html - 将 .CSV 数据放入 HTML(Github 页面)

ios - 如何使用 IOS 库将 xls 转换为 csv?

java - 如何在java中将CSV文件转换为整数数组?

mysql - 将 CSV 文件上传到 MySQL 但有一个字段未显示在表中