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 に答える