[]
Python: classtan liste alma
Merhaba Duyuru!
Öncelikle bugüne kadarki yardımlarınız için teşekkür ederim.
Class'ın içindeki bir objeyi(sanırım obje) liste olarak alıp excele yazmak istiyorum ancak update komutumdaki for döngüsü dönmüyor. Inventory'de her şeyden 500 adet var. Folyo, inventory'nin ilk nesnesi.
Class'ın içine tanımladığım objeleri nasıl excele liste olarak alabilirim? Kod ve hata aşağıda.
Teşekkürler!
hizliresim.com
hizliresim.com
edit: aslında update komutunu: mylist2.append(self.i_amount) şeklinde yazınca değiştirdiğim nesneyi listeye ekliyor ancak sadece o nesneyi ekliyor. all.update tarzı bir komut mu yazmam lazım acaba?
edit2: çözüldü. @Acream'e ve @j r r tolkienhayranı'na teşekkürler. Çözülmüş hali aşağıda.import pandas as pd
df = pd.read_excel('stock.xlsx')
inventory_code = df['code'].tolist()
inventory_name= df['name'].tolist()
inventory_amount = df['amount'].tolist()
inventory_unit = df["birim"].tolist()
inventory_location=df["location"].tolist()
class Inventory:
def __init__(self,i_code,i_amount,i_unit,i_location):
self.i_code=i_code
self.i_amount=i_amount
self.i_unit=i_unit
self.i_location=i_location
def info(self):
print("Product code:", self.i_code, "Amount:", self.i_amount, "Unit:", self.i_unit, "Place:", self.i_location)
def add(self, add_amount):
self.i_amount += add_amount
def update(self):
for i in range(0, len(inventory_name)):
if inventory_code[i] == self.i_code:
mylist2.append(self.i_amount)
else:
mylist2.append(inventory_amount[i])
for i in range(0,len(inventory_name)):
globals()[inventory_name[i]]=Inventory(inventory_code[i],inventory_amount[i],inventory_unit[i],inventory_location[i])
mylist2=[]
folyo.info()
folyo.add(4000)
folyo.update()
folyo.info()
print(mylist2)
print(len(inventory_amount))
print(len(mylist2))
Öncelikle bugüne kadarki yardımlarınız için teşekkür ederim.
Class'ın içindeki bir objeyi(sanırım obje) liste olarak alıp excele yazmak istiyorum ancak update komutumdaki for döngüsü dönmüyor. Inventory'de her şeyden 500 adet var. Folyo, inventory'nin ilk nesnesi.
Class'ın içine tanımladığım objeleri nasıl excele liste olarak alabilirim? Kod ve hata aşağıda.
Teşekkürler!
hizliresim.com
hizliresim.com
edit: aslında update komutunu: mylist2.append(self.i_amount) şeklinde yazınca değiştirdiğim nesneyi listeye ekliyor ancak sadece o nesneyi ekliyor. all.update tarzı bir komut mu yazmam lazım acaba?
edit2: çözüldü. @Acream'e ve @j r r tolkienhayranı'na teşekkürler. Çözülmüş hali aşağıda.import pandas as pd
df = pd.read_excel('stock.xlsx')
inventory_code = df['code'].tolist()
inventory_name= df['name'].tolist()
inventory_amount = df['amount'].tolist()
inventory_unit = df["birim"].tolist()
inventory_location=df["location"].tolist()
class Inventory:
def __init__(self,i_code,i_amount,i_unit,i_location):
self.i_code=i_code
self.i_amount=i_amount
self.i_unit=i_unit
self.i_location=i_location
def info(self):
print("Product code:", self.i_code, "Amount:", self.i_amount, "Unit:", self.i_unit, "Place:", self.i_location)
def add(self, add_amount):
self.i_amount += add_amount
def update(self):
for i in range(0, len(inventory_name)):
if inventory_code[i] == self.i_code:
mylist2.append(self.i_amount)
else:
mylist2.append(inventory_amount[i])
for i in range(0,len(inventory_name)):
globals()[inventory_name[i]]=Inventory(inventory_code[i],inventory_amount[i],inventory_unit[i],inventory_location[i])
mylist2=[]
folyo.info()
folyo.add(4000)
folyo.update()
folyo.info()
print(mylist2)
print(len(inventory_amount))
print(len(mylist2))
@Acream
Merhaba. Yorumunuz için çok teşekkür ederim. Benim için oldukça aydınlatıcı oldu. Bu şekilde denediğimde de class'tan türettiğim objeyi çağıramıyorum.
mylist2=[Inventory(i_amount)]
gibi varyasyonları denedim ancak doğru syntaxı bulamadım.
Merhaba. Yorumunuz için çok teşekkür ederim. Benim için oldukça aydınlatıcı oldu. Bu şekilde denediğimde de class'tan türettiğim objeyi çağıramıyorum.
mylist2=[Inventory(i_amount)]
gibi varyasyonları denedim ancak doğru syntaxı bulamadım.
- E. (21.07.20 12:44:46)
1