使用python将值插入csv中的特定单元格

使用python将值插入csv中的特定单元格,python,csv,Python,Csv,我想知道是否有一种方法可以使用python将数据插入csv文件的特定单元格中。假设我有变量“data”,它存储值“300”。如何将该数据添加到csv文件的第3行第2列?感谢您提前提供的所有帮助,并感谢您的建议。在您的示例中,我们有一个嵌套列表的列表对象 要访问要在嵌套列表中替换的项,请指定x,y值: nested_list [ x ] [ y ] 或者在你的例子中 nested_list [ 3 ] [ 2 ] 现在我们知道了如何访问要替换的值,只需删除第2列中的项目,然

我想知道是否有一种方法可以使用python将数据插入csv文件的特定单元格中。假设我有变量“data”,它存储值“300”。如何将该数据添加到csv文件的第3行第2列?感谢您提前提供的所有帮助,并感谢您的建议。

在您的示例中,我们有一个嵌套列表的列表对象

要访问要在嵌套列表中替换的项,请指定x,y值:

    nested_list [ x ] [ y ] 
或者在你的例子中

    nested_list [ 3 ] [ 2 ] 
现在我们知道了如何访问要替换的值,只需删除第2列中的项目,然后在第2列中插入新项目,如下所示:

    del nested_list [ 3 ] [ 2 ]   # Delete the Old Item
    nested_list [ 3 ].insert ( 2 , "New Item Value" )
我更喜欢上面的方法,而不是像

    nested_list [ 3 ] [ 2 ] = "New Item Value"
因为我经常在python列表中遇到不变性问题,其中的值实际上不会更改为“newitem值”


删除和插入对我来说是一种可靠的列表替换方法

假设我有以下列表:

>>> data=[[1,2,3],
...       [4,5,6],
...       [7,8,9]]
您可以使用
数据[row][col]
更改任何项目,如下所示:

>>> data[1][0]="new value!"
>>> data
[[1, 2, 3], ['new value!', 5, 6], [7, 8, 9]]
编写csv文件时,通常编写的数据结构类似于列表列表或列表目录。在使用
csv
写入数据之前,只需更改行的值col(在列表的情况下)或头的值dict(在dict的情况下)

考虑到此csv文本文件:

$ cat /tmp/f.csv
1,2,3
4,5,6
7,8,9
您可以打开文件并读取它:

>>> with open('/tmp/f.csv') as f:
...        data=[row for row in csv.reader(f)] 

>>> data
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
现在修改:

with open('/tmp/f.csv', 'w') as f:
    w=csv.writer(f)
    data[1][0]="New Value!"
    for row in data:
        w.writerow(row)
然后查看它是否已更改:

$ cat /tmp/f.csv
1,2,3
New Value!,5,6
7,8,9

读取文件时可能出现重复错误(
打开时出现错误)。。我按了两次enter键以返回python光标,然后返回
\u csv。错误:在不带引号的字段中看到新行字符-是否需要以通用换行模式打开文件?