Python 使用循环将CSV数据提取到对象中

Python 使用循环将CSV数据提取到对象中,python,pandas,loops,csv,Python,Pandas,Loops,Csv,我的问题很难解释,我不确定是否有可能做到我所要求的,但我会尽力解释 基本上,我有一个包含数据的CSV文件,我想提取特定的单元格,并将它们设置为对象中的值。CSV中的每一行都包含有关单个项目的信息。目前,我使用pandas库和df.iloc[0][1]等对其进行硬编码。但是,我希望能够循环整个CSV,提取单个单元格并将其添加到多个对象中,因此我不必手动硬编码每一行 希望代码有助于说明我的意思: df = pd.read_csv('Options.csv') 我的班级: class Opt

我的问题很难解释,我不确定是否有可能做到我所要求的,但我会尽力解释

基本上,我有一个包含数据的CSV文件,我想提取特定的单元格,并将它们设置为对象中的值。CSV中的每一行都包含有关单个项目的信息。目前,我使用pandas库和df.iloc[0][1]等对其进行硬编码。但是,我希望能够循环整个CSV,提取单个单元格并将其添加到多个对象中,因此我不必手动硬编码每一行

希望代码有助于说明我的意思:

df = pd.read_csv('Options.csv')
我的班级:

    class Option:
    def __init__(self, type, name, S, K):

        self.type = type
        self.name = name
        self.S = S
        self.K = K 
当前从CSV中提取:

o1 = Option(df.iloc[0, 1], df.iloc[0][2], df.iloc[0][3], df.iloc[0][4])
o2 = Option(df.iloc[1, 1], df.iloc[1][2], df.iloc[1][3], df.iloc[1][4])
等等


我仍然希望能够选择每个选项的单个值,例如,print(o1.name)、o6.type等。

这将为您提供选项对象的列表:

options = df.apply(lambda x: Option(x[1], x[2], x[3], x[4]), axis=1)

options_list = options.values.tolist()

您需要迭代文档中从0到最多行的每一行。对于每个迭代,您将创建Option类的新实例

下面是一些示例代码:

df = pd.read_csv('Option.csv')

row_amount = 5 # put the amount of rows that the csv file contains here or get it with pandas 

options = []

for row in range(0, row_amount):
    option = Option(df.iloc[row, 1], df.iloc[row, 2], df.iloc[row, 3], df.iloc[row, 4])
    options.append(option)

是否可以使用此代码选择单个选项。例如:print(o1.type)yes当然,您可以使用以下语法选择选项列表中的任何元素:options[x]。这意味着您可以使用以下行打印第一行的类型:print(选项[1].type)好的,谢谢,这很有意义。最后一个问题,我如何遍历选项列表,以允许我从类中执行方法。我尝试了一个for循环,但不断出现错误。只是把它弄出来了!