非常に新しいクラス内のオブジェクトを定義し、いくつかの助けを借りて行うことができます。どのようにクラス内のメンバーを参照するのですか? 私は2つのcsvファイルを持っています。 1つは一連の部品と関連する材料IDを含みます。もう1つは、品目IDとその品目に関するいくつかの情報を含む品目索引です。Pythonは:Pythonのに
私の意図は、すべての部品が含まれている3番目のファイルを作成するために、その材料同上の情報であれば材料のインデックスに存在しています。
私は材料のインデックスのためのクラスを作成していると、一部のファイルから材料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は、リストファイルがあり、クラスはマテリアルインデックスから生成されています。 –
**何のエラー**ですか? –