当前位置: 首页 > 面试题库 >

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

孙钱青
2023-03-14
问题内容

我必须在csv文件中的特定单元格(例如第8个单元格)中写入一个值。我可以看到有一种csvwriter.writerow(row)写整行的方法,但是我看不到有什么可以向特定单元格写入值的方法


问题答案:

CSV模块 提供了一些工具来读取和写入的CSV文件,但
不允许修改特定的细胞原位

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

但是,不要劝阻使用 csv模块
,它使用起来很简单,并且只要您可以相对容易地实现所需的高级功能,就可以使用基元。

例如,查看以下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 csv模块读取csv文件,每一行都像这样: 然后,我将row [0]转换为Unix时间,但是我想用刚为csv文件的每一行找到的Unix时间替换datetime 因此,我使用unixtime值创建了列表Y,但是接下来我该如何进行替换,以产生如下所示的输出: 问题答案: 每个只是一个。您可以就地对其进行修改,也可以使用要替换的值创建一个新列表: 如果要将其写回文件,

  • 问题内容: 我正在尝试解析一个csv文件,并仅从特定列中提取数据。 范例csv: 我想只捕获特定的列,说,,和。 我看过的代码使我相信我可以通过其对应的编号来调用特定的列,即:将对应于2并遍历每一行使用会产生列2中的所有项目。只有它不能。 到目前为止,这是我所做的: 并且我希望这只会打印出我想要的每一行的特定列,除非不是,我只会得到最后一列。 问题答案: 你会得到从这个代码的最后一列的唯一方法是,

  • 问题内容: 我有一个Excel工作表,它在某些单元格中已经有一些值。 对于前:- 我希望大熊猫写特定的单元格而不接触任何其他单元格,工作表等 这是我尝试的代码。 但是,此代码将删除较旧的单元格值。 我已经提到过:-如何在不覆盖数据的情况下(使用熊猫)写入现有的excel文件? 但是此解决方案不起作用。 问题答案: 我无法使用熊猫来完成我在问题中提出的要求,但是可以使用来解决它。 我将编写一些代码片

  • 如何使用Apache POI将文本/图像写入特定的合并单元格。特定单元格意味着,我直接将文本或图像写入B3: D7。下面的代码是每个索引的手动代码,而不是单元格的特定名称和数量。我想通过单元格名称和编号放置。

  • 示例CSV: 我试图只捕获特定的列,例如、、和。 我看到的代码使我相信我可以通过相应的编号调用特定的列,因此:将对应于,使用迭代每一行将产生第2列中的所有项。只是它没有。

  • 我有一个csv文件,如下所示: ... 我怎样才能在python中只读取列“AAA、DDD、FFF、GGG”并跳过标题?我想要的输出是一个元组列表,如下所示:[(1,4,3,20),(2,5,2,23),(4,6,1,22)]。我正在考虑稍后将这些数据写入SQLdatabase。 我参考了这篇文章:用csv模块从csv文件中读取特定的列?。但是我不认为这对我有什么帮助。因为我的. csv很大,有一