简体   繁体   中英

Reading and writing to/from csv files

I want my program to read 2 columns (the first and the second one) and add them to an array. They are dependent on eachother - so they need to be written alongside eachother, as in the first row (both columns) next to eachother, and then the second row and so on.

I have managed to write the first column (containing the names) to the array, however have not managed to write the second column to the array.

rownum=1
array=[]
for row in reader:
    if row[1] != '' and row[1] != 'Score':
        array.append(row[1])
        rownum=rownum+1
        if rownum==11:
            break

I attempted to append more than one row however it returns the error message 'only accepts one argument'. Any ideas how I can do this so i can reference the score for each name from the csv file

Try using a dictionary .

d = {} #curly braces denote an empty dictionary
for row in reader:
    d[row[0]] = row[1]

d , in this case, would be a dictionary with the first column of your csv file as the keys and the second column as the corresponding values.

You can access it very similar to how you access a list. Say you had Brian,80 as one of the entries in your csv file, d["Brian"] would return 80 .

EDIT

OP has requested (in the comments) for a more complete version of the code. Assuming OP's code already works, I'll modify that code so it works with a dictionary:

rownum=1
d={} #denotes an empty dictionary
for row in reader:
    if row[1] != '' and row[1] != 'Score':
        d[row[0]]=row[1] #first column is the key/index, second column is the value
        rownum=rownum+1
        if rownum==11:
            break

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