שליפת קובץ לוג גדול
-
@sumone זה מוזר, כי אם אני לא טועה קבצי טקסט במערכת מוגבלים ללא יותר מ10MB לקובץ בודד, יותר מזה הם נמחקים,
-
-
זה הקובץ מהצהרים, וכנראה שמאז הוא התנפח עוד.
כשאני פונה בפוסטמן אני מקבל את אותה שגיאה בכל הפורמטים,
וכשאני מוריד קובץ אני מקבל אקסל שבשורה הראשונה שלו יש את הJSON הזה. -
@sumone כתב בשליפת קובץ לוג גדול:
וכשאני מוריד קובץ אני מקבל אקסל שבשורה הראשונה שלו יש את הJSON הזה.
הורדת קובץ רגילה לא אמורה להוריד אקסל, אלא קובץ טקסט בסיומת ymgr
אני התכוונתי שתנסה באתר להוריד את זה ככה
-
@אביי-ורבא כתב בשליפת קובץ לוג גדול:
@sumone כתב בשליפת קובץ לוג גדול:
וכשאני מוריד קובץ אני מקבל אקסל שבשורה הראשונה שלו יש את הJSON הזה.
הורדת קובץ רגילה לא אמורה להוריד אקסל, אלא קובץ טקסט בסיומת ymgr
אני התכוונתי שתנסה באתר להוריד את זה ככה
אלוף!
לא חשבתי על זה,זה עדיין יורד לי,
איך אני מפענח את זה לCSV רגיל,
מה המבנה של זה?
אני רוצה להריץ על זה תוכנית בנוד שתיצור לי קובצים לפי תאריכים. -
@sumone תחשוב על זה כמו קובץ csv, רק שהמפרידים הם לא פסיקים,
בכל שורה יש כותרת העמודה, # ואז הערך, כשבין עמודה לעמודה יש %למזלך יש לי קוד קיים בפייתון שכתבתי פעם
import csv import os input_file = r"C:\Users\abaye\Downloads\LogFolderEnterExit-2024-04.ymgr" output_folder = os.path.dirname(os.path.abspath(__file__)) output_file = os.path.join(output_folder, "LogFolderEnterExit-2024-04.csv") rows = [] all_field_names = set() # Collect all unique field names def parse_line(line): data = {} parts = line.strip().split('%') for part in parts: if '#' in part: key, value = part.split('#', 1) data[key] = value return data # Read file and collect all fields from all rows with open(input_file, "r", encoding="utf-8") as file: for line in file: data = parse_line(line) rows.append(data) all_field_names.update(data.keys()) field_names = sorted(list(all_field_names)) with open(output_file, "w", newline="", encoding="utf-8") as csvfile: writer = csv.DictWriter(csvfile, fieldnames=field_names) writer.writeheader() writer.writerows(rows) print(f"CSV file saved as: {output_file}") print(f"Found {len(field_names)} fields: {', '.join(field_names)}") print(f"Processed {len(rows)} rows")
-
@אביי-ורבא
תודה רבה עזרת לי מאוד מאוד..תכלס מה לדעתך מומלץ לי עכשיו, לשנות את השם של הקובץ כדי שיווצר לי קובץ חדש מכאן ולהבא, או להוריד כל פעם את הקובץ הגדול.
אני צריך את זה לבדיקת לוגים של פעולות מידי פעם.
-
@sumone מצאתי אצלי גרסה טובה יותר של הקוד, שיודעת להתמודד עם שורות שחסרות בהם עמודות, שזה דבר מצוי הרבה פעמים בדוחו"ת. עדכנתי בפוסט הקודם.
@sumone כתב בשליפת קובץ לוג גדול:
תכלס מה לדעתך מומלץ לי עכשיו, לשנות את השם של הקובץ כדי שיווצר לי קובץ חדש מכאן ולהבא, או להוריד כל פעם את הקובץ הגדול.
כדאי לך לשנות את השם מידי פעם, חבל לעבוד כל פעם עם קובץ ענק, לחינם
-
אני רואה בקובץ שנוצר לי שורות כאלו:
read^f-/products/533.n-11.m-1907..f-005.f-017.^menu>>>>3>NO>>>>>1>Ok>3>>noאני מבין שאני צריך להחליף את התווים הבאים:
= ^
> ,
& *
יש עוד תווים שאני צריך להחליף?
-
@sumone זה מוזר, זה לא מבנה של קובץ ymgr שאני מכיר
-
@אביי-ורבא אף פעם לא שמת לב לזה בלוג api שבדו"ח חלק מהתווים מוחלפים לאחרים?
אגב אני רואה שכתוב כאן שצריך להחליף גם את/
בנקודה