דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קריאת JSON בPYTHON

קריאת JSON בPYTHON

מתוזמן נעוץ נעול הועבר תכנות
19 פוסטים 5 כותבים 509 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • יצירהי מנותק
    יצירהי מנותק
    יצירה
    כתב ב נערך לאחרונה על ידי
    #1

    שלום לכולם. בהערכה על הפורום המיוחד הזה שכולם שותפים ומשתפים בו מידע שאין, אין למצוא. אין עליכם!

    האם ידוע למישהו איך לבודד מתוך תשובת 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 של הראשון בלבד!

    OdedDvirO תגובה 1 תגובה אחרונה
    1
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב ליצירה ב נערך לאחרונה על ידי OdedDvir
      #2

      @יוסף1111 שכחת לציין את האינדקס, שהרי data הוא מערך:

      n4 = float (d3['data'][1]['balance']) 
      
      תגובה 1 תגובה אחרונה
      6
      • יצירהי מנותק
        יצירהי מנותק
        יצירה
        כתב ב נערך לאחרונה על ידי
        #3

        תודה!!! איך שדבר קטן משנה הכל!!

        תגובה 1 תגובה אחרונה
        1
        • יצירהי מנותק
          יצירהי מנותק
          יצירה
          כתב ב נערך לאחרונה על ידי יצירה
          #4

          האם יש דרך לבודד:
          לפי פרמטר שנמצא במערך מסויים (למשל יש לי 700 מפתחות ואני רוצה להדפיס את ה 'balance' רק של מי שה'lastcalled' הוא למשל 0504100000.

          תודה!

          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב ליצירה ב נערך לאחרונה על ידי
            #5

            @יוסף1111 אתה אמור לדעת פייתון? יש שפת תכנות אחרת שאתה יודע?
            אתה יודע מה זה מערך?

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            יצירהי תגובה 1 תגובה אחרונה
            0
            • יצירהי מנותק
              יצירהי מנותק
              יצירה
              השיב לdovid ב נערך לאחרונה על ידי יצירה
              #6

              @dovid מה פירוש אם אני יודע מה זה מערך? מערך זה list. רק שpy טען שהוא dict

              תגובה 1 תגובה אחרונה
              0
              • yossizY מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי yossiz
                #7

                בידוד לפי תנאי

                מערך (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]
                

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                4
                • yossizY מנותק
                  yossizY מנותק
                  yossiz
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @יוסף1111 שים לב, שעניתי רק על השאלה, אבל @dovid צודק לגמרי שאם אתה רוצה להתקדם אתה חייב להבין איך זה עובד ולא רק להעתיק ולהדביק...

                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                  יצירהי תגובה 1 תגובה אחרונה
                  2
                  • יצירהי מנותק
                    יצירהי מנותק
                    יצירה
                    השיב לyossiz ב נערך לאחרונה על ידי יצירה
                    #9

                    @yossiz , @dovid עובדים עובדים רק לפעמים נתקעים.
                    שים לב למשל שלפני שענית לי (תודה!!) מחקתי את השאלה על מציאת האחרון כי זה מצאתי לבד.
                    stackoverflow ודומיו בסימניה באמצע..
                    אם אני לא מוצא אחרי חיפושים אני שואל. ואז זה ממש מצויין לדעתי!

                    מה דעתך?

                    yossizY dovidD 2 תגובות תגובה אחרונה
                    1
                    • yossizY מנותק
                      yossizY מנותק
                      yossiz
                      השיב ליצירה ב נערך לאחרונה על ידי yossiz
                      #10

                      @יוסף1111 בסדר גמור לא התכוונתי להטיף רק לעזור...

                      כדי להבין את התשובה שלי תבדוק את הנושא של generators ו-list comprehension (סוג ביטוי שמחזיר generator) ופונקציית next שמחזירה את הערך הבא מה-generator.

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                      תגובה 1 תגובה אחרונה
                      3
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        כתב ב נערך לאחרונה על ידי yossiz
                        #11

                        אגב, תוך כדי שגיגלתי בנושא השאלה שלך (אני לא בקי בפייתון) נתקלתי בזה...
                        b3cec8ac-d73f-4508-93c2-e2d2b48e779b-image.png

                        אחרי לחיצה על "I want to play" הסדק בדף נפתח לגמרי לגלות את זה:

                        29c55b01-1987-4932-b84e-f2ec1b625e08-image.png

                        כדאי להתראיין אצל גוגל?🤡 ?

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        chagoldC תגובה 1 תגובה אחרונה
                        5
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          השיב ליצירה ב נערך לאחרונה על ידי
                          #12

                          @יוסף1111 אמר בקריאת JSON בPYTHON:

                          אם אני לא מוצא אחרי חיפושים אני שואל.

                          ומה חיפשת? איך לדעתך יש לבטא את השאלה בגוגל?

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          יצירהי תגובה 1 תגובה אחרונה
                          0
                          • chagoldC מנותק
                            chagoldC מנותק
                            chagold
                            השיב לyossiz ב נערך לאחרונה על ידי
                            #13

                            @yossiz אמר בקריאת JSON בPYTHON:

                            אגב, תוך כדי שגיגלתי בנושא השאלה שלך (אני לא בקי בפייתון) נתקלתי בזה...
                            b3cec8ac-d73f-4508-93c2-e2d2b48e779b-image.png

                            אחרי לחיצה על "I want to play" הסדק בדף נפתח לגמרי לגלות את זה:

                            29c55b01-1987-4932-b84e-f2ec1b625e08-image.png

                            כדאי להתראיין אצל גוגל?🤡 ?

                            אבל תשתף אותנו באתגרים אח"כ...

                            תגובה 1 תגובה אחרונה
                            0
                            • יצירהי מנותק
                              יצירהי מנותק
                              יצירה
                              השיב לdovid ב נערך לאחרונה על ידי יצירה
                              #14

                              @dovid "מילונים-איתור ערך פייתון". חיפשתי ברשת-טק. אלעד פלג. מדריך סייבר של צהל ברק גונן ועוד. עם טרנסלייט ניסיתי לחשוב על רעיונות.
                              ניסיתי עם LEN ולקח לזה כמעט 10 שניות כי הוא סופר הכל. עם רה-פינד. עוד ועוד..
                              גנרטור הכרתי רק משבת!

                              yossizY תגובה 1 תגובה אחרונה
                              0
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                השיב ליצירה ב נערך לאחרונה על ידי
                                #15

                                @יוסף1111 תמיד כדאי לחפש באנגלית.
                                אני חיפשתי https://www.google.com/search?q=python+list+find+first ומצאתי את התשובה בתוצאה הראשונה

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                יצירהי תגובה 1 תגובה אחרונה
                                2
                                • יצירהי מנותק
                                  יצירהי מנותק
                                  יצירה
                                  השיב לyossiz ב נערך לאחרונה על ידי
                                  #16

                                  @yossiz דובר אנגלית כשפת אם. לא?

                                  yossizY תגובה 1 תגובה אחרונה
                                  1
                                  • yossizY מנותק
                                    yossizY מנותק
                                    yossiz
                                    השיב ליצירה ב נערך לאחרונה על ידי
                                    #17

                                    @יוסף1111 כן, אבל כמתכנת אתה חייב להתחיל להסתדר באנגלית אחרת יהיה קשה מאוד להתקדם. עצוב, אבל כך המציאות.

                                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                    יצירהי תגובה 1 תגובה אחרונה
                                    2
                                    • יצירהי מנותק
                                      יצירהי מנותק
                                      יצירה
                                      השיב לyossiz ב נערך לאחרונה על ידי יצירה
                                      #18

                                      @yossiz נכון. ועם עוד כמה (המון!) דברים שאני לא יודע. אבל לאט לאט ועם אנשים טובים בדרך (yossiz 👍 !) מגיעים תמיד בע"ה לתוצאות מעולות! (למשל עכשיו אני ממש רגעים לפני סיוםסליחה! לפני דרך ארוכה להשתכלל עוד!)

                                      dovidD תגובה 1 תגובה אחרונה
                                      3
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        השיב ליצירה ב נערך לאחרונה על ידי
                                        #19

                                        @יוסף1111 זה לא טוב.
                                        עניין אותך איך לסיים, ואכן עוד מעט אתה מסיים אבל עד עכשיו (למרות שזה כבר נאמר לך בשאלה הקודמת ששאלת) אתה לא יודע שקוראים לזה מערך ולא מילון (מה זה משנה, העיקר סיימת!), והעזרה של @yossiz עזרה לך לחסוך קריאה ולהיות טוב בלמצוא בפורום את האנשים הנכונים ופחות להכיר את השפה איתה עובד...
                                        כשאתה שואל, עליך לשים בצד את התקדמות בפרוייקט, ולהיות במצב של שאלה בבית ספר.
                                        יש לי אוסף ואני צריך לאתר בו איבר, לפי ערך של אחד שדותיו.
                                        איך לחפש את זה? מה זה אומר מבחינת קוד?

                                        בקשר לחיפוש, אין מה לחפש בעברית. יש אפס חומר ורמתו בהתאם ליחס המספרי הכולל.
                                        אתה יכול לשאול פה איך לחפש, נעזור לך בשמחה. ככה לא רק תתקדם, אלא גם תשתכלל.

                                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                        תגובה 1 תגובה אחרונה
                                        5

                                        בא תתחבר לדף היומי!
                                        • התחברות

                                        • אין לך חשבון עדיין? הרשמה

                                        • התחברו או הירשמו כדי לחפש.
                                        • פוסט ראשון
                                          פוסט אחרון
                                        0
                                        • דף הבית
                                        • קטגוריות
                                        • פוסטים אחרונים
                                        • משתמשים
                                        • חיפוש
                                        • חוקי הפורום