对Python很新颖,可以做一些帮助。我如何去引用一个类中的成员? 我有两个csv文件。一个包含一系列零件和相关的材料ID。另一个是包含材料ID和关于该材料的一些信息的材料索引。Python:在类中定义对象
我的意图是创建第三个文件,其中包含所有零件,其材料ID和材料索引中的信息(如果存在)。
我已经为材质索引创建了一个类,并试图使用零件文件中的材质ID访问此类中的对象,但是这不起作用,我不确定原因。任何帮助表示赞赏:“我如何去在一个类中引用成员
class material():
def __init__(self, name, ftu, e, nu):
self.name = name
self.ftu = ftu
self.e = e
self.nu = nu
def extract_FTU_Strain(input_file_parts,input_file_FTU,output_file):
parts = {}
materials = {}
for aline in open(input_file_FTU, 'r'):
comma_split = aline.strip().split(',')
name = comma_split[1]
ftu = comma_split[8]
e = comma_split[9]
nu = comma_split[7]
try:
materials[int(comma_split[0])] = material(comma_split[1],comma_split[8],comma_split[9],comma_split[7])
#materials[comma_split[0]] = material(comma_split[1],comma_split[8],comma_split[9],comma_split[7])
except:
pass
for i in open(input_file_parts, 'r'):
semicolon_split = i.strip().split(';')
material_id = semicolon_split[3]
part = semicolon_split[0]
part_id = semicolon_split[1]
material_name = materials[material_id].name
FTU = materials[material_id].ftu
Stress = materials[material_id].e
output.write(','.join([part,part_id,material_name,material_id,FTU,Stress]) + '\n')
output = open (output_file,'w')
output.write('Part Title, Part Id, Material Id, FTU, e' + '\n')
output.close()
import sys
input_file_parts = '/parttable.csv'
input_file_FTU = '/Material_Index.csv'
output_file = '/PYTHONTESTING123.csv'
extract_FTU_Strain(input_file_parts,input_file_FTU,output_file)
什么不工作?请将您的代码减少到展示问题所需的最低限度。至少,在发布之前删除注释掉的行。 –
所以我相信我已经成功创建了类,但是在尝试从类中提取信息时出现错误: line:'material_name = materials [material_id] .name' 我认为这是因为material_id来自零件列表文件和类已从材料索引中生成。 –
**什么错误**? –