0

我最近一直在阅读 csv 文件,现在我想将单个值从 python 中定义的整数重写为一行。这是我的阅读代码;

n=random.randint(0, 20)
cr = csv.reader(open('E:/file.csv', 'r'))
for row in cr:
     labelNUMBER.config(text = row[n])

我的编写代码;

newnumber = 2
crwrite = csv.writer(open('E:/file.csv', 'r+'))
crwrite.writerow(n[newnumber])

这显然是行不通的。但我想在一个 csv 文件中写一行,它本质上是

 1,1,1,1,1,1,1,1,1

并做到

 1,1,1,2,1,1,1,1,1

假设我的随机数 n 等于 3。

如果有办法以这种方式重写单个值,我希望得到一些帮助。谢谢!

4

1 回答 1

1

这看起来对吗?

你必须把整行都给作者。另请注意,使用该csv模块时,您应该以二进制模式打开文件,"rb".

element_to_modify_idx = 2
reader = csv.reader(open("infile.csv", "rb"))
writer = csv.writer(open("outfile.csv", "wb"))
for row in reader:
    # modify desired element in row
    row[element_to_modify_idx] = "fancy new value"
    writer.writerow(row)
于 2012-09-28T01:37:58.270 回答