2012-09-27 4 views
0

최근에는 CSV 파일을 읽는 데 어려움을 겪었으므로 파이썬에서 정의 된 정수에서 하나의 값을 한 행에 다시 쓰려고합니다. 내 독서 코드가있다.파이썬에서 개별 CSV 파일 인덱스에 값 쓰기

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

이것은 분명히 작동하지 않습니다. 그러나 나는 기본적으로

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

있는 csv 파일의 행을 작성하고 그것이이 경우 내 임의의 숫자가, N, 3

에 해당된다는

1,1,1,2,1,1,1,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) 
+0

우수 감사했습니다. – zigzs

관련 문제