简体   繁体   中英

How to write in a specific cell in a CSV file?

I have an asignment in which I need to imput random grades of different students in a csv file using Python 3, and get the average of each student(the average thing and how to get the random grades, I know how to do it), the thing is that I don't know how to write the grades on those specific columns and rows(highlighted ones).

Highlighted area is the space in which I need to write random grades:
成绩文件的图像

Is there anyway that this can be done? I'm fairly new to programming and Python 3, and as far as I've read, specifics cells can't be changed using normal means.

csv module doesn't have functions to modify specific cells.

You can read rows from original file, append grades and write modified rows to new file:

import random
import csv

inputFile = open('grades.csv', 'r')
outputFile = open('grades_out.csv', 'w')
reader = csv.reader(inputFile)
writer = csv.writer(outputFile)
for row in reader:
    grades = row.copy()
    for i in range(5):
        grades.append(random.randint(1, 5))
    writer.writerow(grades)
inputFile.close()
outputFile.close()

Then you can delete original file and rename new file (it is not good to read the whole original file to a variable, close it, open it again in writing mode and then write data, because it can be big).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM