覆盖CSV文件Python中的现有列表

时间:2013-05-13 23:55:30

标签: python list csv

我有一个带有播放器属性的csv文件:

['Peter Regin', '2', 'DAN', 'N', '1987', '6', '6', '199', '74', '2', '608000', '', '77', '52', '74', '72', '58', '72', '71', '72', '70', '72', '74', '68', '74', '41', '40', '51']
['Andrej Sekera', '8', 'SVK', 'N', '1987', '6', '6', '198', '72', '3', '1323000', '', '65', '39', '89', '78', '75', '70', '72', '56', '53', '56', '57', '72', '57', '59', '70', '51']

例如,我想检查玩家是否是CENTER(我的列表中位置1的'2')以及我想要修改12个元素(Peter Regin的'77')

如何使用CSV模块执行此操作?

import csv


class ManipulationFichier:


    def __init__(self, fichier):
        self.fichier = fichier

    def read(self):

        with open(self.fichier) as f:
            reader = csv.reader(f)

            for row  in reader:
                print(row)


    def write(self):

        with open(self.fichier) as f:
            writer = csv.writer(f)

            for row in f:
                if row[1] == 2: 
                    writer.writerows(row[1] for row in f)

哪个没什么重要的。

谢谢,

1 个答案:

答案 0 :(得分:2)

通常,无法就地可靠地修改CSV文件。

将整个文件读入内存(通常是列表列表,如示例所示),修改数据,然后将整个文件写回。

除非您的文件非常庞大,并且您经常这样做,否则性能损失可以忽略不计。