Python 使用csv文件而不是静态值初始化

Python 使用csv文件而不是静态值初始化,python,csv,dataframe,object,init,Python,Csv,Dataframe,Object,Init,我对python很陌生。。。我想将读取输入参数的静态方法改为更动态的方法,从.csv文件读取输入参数。我把它从旧的改成了新的,如下所示。。。但它没有成功!如果有人能帮我就好了 物理学 class Box(object): def __init__(self, depth=5, width=10, height=3, density=7): # Dimensions self.depth = depth self.width = wid

我对python很陌生。。。我想将读取输入参数的静态方法改为更动态的方法,从.csv文件读取输入参数。我把它从旧的改成了新的,如下所示。。。但它没有成功!如果有人能帮我就好了

物理学

class Box(object):

    def __init__(self, depth=5, width=10, height=3, density=7):

        # Dimensions
        self.depth = depth 
        self.width = width 
        self.height = height 
        self.density = density
sim_old.py

# Initialise instance, empty brackets for default see physics_old.py
Cuboid = Object(depth=6, width=12, height=2, density=7.5)

我想将这种静态方法改为更动态的方法,从.csv文件中读取输入参数。我把它改成了下面的

新物理

class Box(object):

    def __init__(self, box_data):

        labels = ['depth', 'width', 'height', 'density']

        # Import csv file
        data = pd.read_csv(box_data, skiprows=1, sep=';', index_col=False, names=labels)

        # Dimensions
        self.depth = data['depth'] 
        self.width = data['width']
        self.height = data['height']
        self.density = data['density']
sim_new.py

# Initialise instance, empty brackets for default see physics_new.py
Cuboid = Object(data)


尝试将代码更改为:

类框(对象):
def u u初始(自身、方框数据):
标签=[“深度”、“宽度”、“高度”、“密度”]
#导入csv文件
data=pd.read_csv(box_data,skiprows=1,sep=';',index_col=False,names=labels)
对于,data.iterrows()中的行:
#尺寸
self.depth=行['depth']
self.width=行['width']
self.height=行['height']
self.density=行['density']
但在
self.*variables*
中,最后一行值将留给您。更改代码流


data['depth']
这些将是depth col的所有行值,但是您之前只使用了一个值。您是否尝试打印'data'变量?它正确返回了吗?我也对用这种方式创建对象表示怀疑。您正在将列表指定给一个值。