קריאת JSON בPYTHON
-
שלום לכולם. בהערכה על הפורום המיוחד הזה שכולם שותפים ומשתפים בו מידע שאין, אין למצוא. אין עליכם!
האם ידוע למישהו איך לבודד מתוך תשובת JSON ארוכה חלק מהמידע. בפייתון.
אני מקבל תשובה כזו:{ "data" : [ { "pin" : "", "inuse" : "0", "currency" : "ILS", "lastcalled" : "***", "dialplan" : "", "last_charge" : "0", "caller" : "***", "locked" : "0", "timezone" : "", "language" : "", "serial" : "***", "firstuse" : "***", "created" : "***", "lastcalledtime" : "***", "card" : "***", "batch" : "48292", "balance" : "0.186625", "cardgroup" : "462", "expires" : "0" }, { "currency" : "ILS", "lastcalled" : "", "dialplan" : "", "last_charge" : "0", "caller" : "***", "locked" : "0", "timezone" : "", "language" : "", "serial" : "***", "firstuse" : "0", "created" : "***", "lastcalledtime" : "0", "card" : "***", "batch" : "***", "balance" : "252.000000", "cardgroup" : "***", "expires" : "0" },
ואני רוצה לדעת את הערך של balance של השני (שורה 24).
ואם אני מגדיר ש
n4 = float (d3['data']['balance'])
אז אני מקבל רק את הbalance של הראשון בלבד!
-
בידוד לפי תנאי
מערך (list) של ה-balance של כל האברים שעונים על התנאי:
[item['balance'] for item in obj['data'] if item['lastcalled'] == '0504100000']
או אם אתה יודע שיש רק אחד שעונה על התנאי:
next((item['balance'] for item in obj['data'] if item['lastcalled'] == '0504100000'), 0)
ערך אחרון
obj['data'][-1]
-
-
@יוסף1111 בסדר גמור לא התכוונתי להטיף רק לעזור...
כדי להבין את התשובה שלי תבדוק את הנושא של generators ו-list comprehension (סוג ביטוי שמחזיר generator) ופונקציית
next
שמחזירה את הערך הבא מה-generator. -
@יוסף1111 זה לא טוב.
עניין אותך איך לסיים, ואכן עוד מעט אתה מסיים אבל עד עכשיו (למרות שזה כבר נאמר לך בשאלה הקודמת ששאלת) אתה לא יודע שקוראים לזה מערך ולא מילון (מה זה משנה, העיקר סיימת!), והעזרה של @yossiz עזרה לך לחסוך קריאה ולהיות טוב בלמצוא בפורום את האנשים הנכונים ופחות להכיר את השפה איתה עובד...
כשאתה שואל, עליך לשים בצד את התקדמות בפרוייקט, ולהיות במצב של שאלה בבית ספר.
יש לי אוסף ואני צריך לאתר בו איבר, לפי ערך של אחד שדותיו.
איך לחפש את זה? מה זה אומר מבחינת קוד?בקשר לחיפוש, אין מה לחפש בעברית. יש אפס חומר ורמתו בהתאם ליחס המספרי הכולל.
אתה יכול לשאול פה איך לחפש, נעזור לך בשמחה. ככה לא רק תתקדם, אלא גם תשתכלל.