Dinamik Kod Calistirmak [Python]
-
başlık açıklayıcı olmadı biliyorum ama nası sorcam bilemedim.
pyspark diye bir kütüphane kullanıyorum, bu kütüphane ile büyük verileri kolayca manipüle edebiliyorum.
bana pandas tarzı bi dataframe veriyor ve onun üstünde takılabiliyorum.
mesela: df.filter(col('name').contains('ali')) dersem bana sak diye ismi ali olanlari getiriyor.
ya da :
df = df.filter(~( (df.rating_points < 4) & (df.review_count > 10) ))
sql gibi boyle ic ice kosullar yazabiliyorum.
simdi benim uygulamanin senaryosunda ben bu kosullari web arayuzunde kullanicidan alacagim. ve fieldlar onceden belli degil. herkes kafasina gore sistemde field yaratabiliyor. fieldlari onceden bilmiyoruz.
arayuzden kullanicinin girdigi kosullari, ustteki formata getirmek icin nasil bir yol izlemeliyim sizce?
python kodu generate edip eval() cagirmak gibi cirkin bir sey yapmak istemiyorum.
-
lambda expressions ile olursa olur hocam
bir ihtimal AST ye bakmak isteyebilirsin ama onu arastirmadim
-
-
-
mongo csharp driver da ve linq'da query builder denilen bir şey var hocam.
sen foreach ile bile oluşturabiliyorsun ve yığmalı toplama yapıyorsun. mesela
query builder desteği varsa bu şekilde bir yol izleyebilirsin. bende crmSearchModel.Fields = dictionary bende. ne eklenirse dbden filan kontrol edebiliyorum
var businessClientFilter = Builders.Filter.Where(c => c.IsDeleted == false); foreach (var pair in crmSearchModel.Fields) { businessClientFilter &= Builders.Filter.ElemMatch(f => f.FieldValues, v => profileField.Id == v.Key && names.Contains(v.Value)); }
-
sercoo bunu yazdı
lambda expressions ile olursa olur hocam
bir ihtimal AST ye bakmak isteyebilirsin ama onu arastirmadim
baktim baktim ama sanirim benim kullandigim kutup icin bunu implemente edemem
-
manglerman bunu yazdı
mongo csharp driver da ve linq'da query builder denilen bir şey var hocam.
sen foreach ile bile oluşturabiliyorsun ve yığmalı toplama yapıyorsun. mesela
query builder desteği varsa bu şekilde bir yol izleyebilirsin. bende crmSearchModel.Fields = dictionary bende. ne eklenirse dbden filan kontrol edebiliyorum
var businessClientFilter = Builders.Filter.Where(c => c.IsDeleted == false); foreach (var pair in crmSearchModel.Fields) { businessClientFilter &= Builders.Filter.ElemMatch(f => f.FieldValues, v => profileField.Id == v.Key && names.Contains(v.Value)); }
yok iste abi, ben query builder yapmaya calisiyorum :D
daha once mongodaydik, mongo ya array olusturup veriyodum
-
yolbulucu bunu yazdı
Hmmm,
O halde sorgularını iç içe değil de dıştan içe sırayla yapsan?
Birkaç tane single line if dizmek suretiyle.
Adam rating points girmiş mi? Girdiyse greater mi girmiş less mi girmiş gibi gibi...
Biraz bakındım, direkt SQL query de girebiliyormuşsun sanırım, ona da bir bakıver.
-
end bunu yazdıyolbulucu bunu yazdı
Hmmm,
O halde sorgularını iç içe değil de dıştan içe sırayla yapsan?
Birkaç tane single line if dizmek suretiyle.
Adam rating points girmiş mi? Girdiyse greater mi girmiş less mi girmiş gibi gibi...
Biraz bakındım, direkt SQL query de girebiliyormuşsun sanırım, ona da bir bakıver.
ha ben genel olarak merak edip sordun sandim.
haci dedigin gibi yapamiyorum cunku adam birden fazla kosul girebilir. (bi yolu varsa da ben dusunemedim)
mesela şöyle bişey düşün : *((price > 50 & price < 100) || category = 'abc') && promotion == true)
bunu ben nested bir array olarak alicam frontendden. nasil cagirabilirim ki ?
sql yaratmayi dusundum pyspark da ama o topa girmek istemiyorum cunku sürekli bi bug çıkacakmış gibi geliyor
-
konuya girince site yukarıda hata mesajı çıkarıyor mesajlardaki kodları çalıştırmaya mı uğraşıyor forum acep :)
-
Liquid bunu yazdı
konuya girince site yukarıda hata mesajı çıkarıyor mesajlardaki kodları çalıştırmaya mı uğraşıyor forum acep :)
aynı şeyi ben diyecektim açık bulmuş kral sitede yardım isterken :D