从CSV文件Python制作对象

Chu*_*vis 9 python csv data-structures

我正在尝试在Python中创建一个对象集合,其属性来自CSV文件.

目前,我有一个简单的类:

class myClass:
    name = ""
    age = 0
    hobbies = []

    def __init__(self, var1, var2, var3)
        self.name = var1
        self.age = var2
        self.hobbies = var3
Run Code Online (Sandbox Code Playgroud)

为了在不混乱代码的情况下存储大量数据,我创建了一个CSV文件,如下所示:

Robert Samson,50,swimming,biking,running
Sam Robertson,70,reading,singing,swimming
Run Code Online (Sandbox Code Playgroud)

等等.我应该有大约50个,它们可能会改变,这是我使用CSV的原因.

有没有办法从这个CSV文件系统地制作myClass对象?我读过你不应该尝试在循环中创建具有唯一名称的对象,但我不确定为什么.

谢谢

编辑:我不是在寻找一种方法来存储python中的csv数据,我需要创建对象...我的示例代码有点误导,因为myClass具有我希望能够调用的函数

use*_*327 13

只需创建一个空列表并将对象添加到它:

import csv

my_list = []

with open('file.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        my_list.append(myClass(row[0], row[1], row[2:]))
Run Code Online (Sandbox Code Playgroud)

  • 这正是我要找的。谢谢你。 (2认同)