将变量分配给CSV文件中的每一行

时间:2016-03-18 15:22:53

标签: python csv

我有一个包含以下内容的CSV文件:

Person One,0
Number Two,0
Another Person,0

当同一个人获得另一个分数时,我需要在每一行上附加另一个数字。我能想到的唯一方法是为每个行分配一个不同的变量,以便我可以将分数附加到该列表中。 目前我有:

with open("scores.csv", "a+") as file:
        lines = csv.reader(file)
        for row in lines: 

如何在此处为每一行指定一个不同的名称,同时仍将其保留为列表。例如,我想要

p1 = ['Person One', '0']

这样我才能做到

p1.append(score)

3 个答案:

答案 0 :(得分:1)

你永远不想做任何事情,比如“将每一行分配给一个变量”。您已经有一个引用所有行的变量,rows;您可以通过索引来引用该列表中的单个行:

rows[0].append(new_score)

答案 1 :(得分:0)

如何同时打开/输出文件以及在同一循环迭代中追加和写出?

with open(infile, 'rb') as fin:
    reader = csv.reader(fin)
    with open(outfile, 'wb') as fout:
        writer = csv.writer(fout)
        for row in reader:
            writer.writerow(row.append(new_value))

答案 2 :(得分:0)

您可以生成游戏玩家列表。

只做

with open("score.txt", "r") as file:
     gamer = list(csv.reader(file))

然后,您可以使用gamer[1].append(32)添加数据。