Python 使用csv文件而不是静态值初始化
我对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
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'变量?它正确返回了吗?我也对用这种方式创建对象表示怀疑。您正在将列表指定给一个值。