Reza-galaxy21 commited on
Commit
5ce97a5
·
verified ·
1 Parent(s): c73d28f

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +17 -9
utils.py CHANGED
@@ -3,20 +3,17 @@ import json
3
 
4
  def parse_excel_file(file_path):
5
  """
6
- فایل اکسل را با فرض اینکه عنوان ستون‌ها در ردیف سوم (index=2) هستند، خوانده و اطلاعات مواد را استخراج می‌کند.
7
  """
8
-
9
  try:
10
- # خواندن اکسل با فرض اینکه عنوان ستون‌ها در ردیف سوم قرار دارند
11
- df = pd.read_excel(file_path, header=2)
12
  except Exception as e:
13
- raise ValueError(f"خطا در خواندن فایل اکسل: {str(e)}")
14
 
15
- # نگاشت ستون‌ها برای پشتیبانی از نام‌های مختلف
16
  column_mapping = {
17
  "کد": ["کد فهرست بها", "کد"],
18
  "عنوان": ["عنوان", "شرح کالا", "نام کالا"],
19
- "تعداد": ["تعداد", "تعداد", "تعداد مورد نیاز"],
20
  "واحد": ["واحد", "واحد شمارش", "نوع واحد"]
21
  }
22
 
@@ -40,13 +37,24 @@ def parse_excel_file(file_path):
40
  return materials
41
 
42
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  def save_to_json(data, output_path="material_db.json"):
44
  """
45
- ذخیره اطلاعات استخراج‌شده در قالب JSON.
46
  """
47
  try:
48
  with open(output_path, "w", encoding="utf-8") as f:
49
  json.dump(data, f, indent=2, ensure_ascii=False)
50
  except Exception as e:
51
  raise ValueError(f"❌ خطا در ذخیره فایل JSON: {str(e)}")
52
-
 
3
 
4
  def parse_excel_file(file_path):
5
  """
6
+ پارس کردن اطلاعات از فایل اکسل. شیت اول باید شامل اطلاعات مواد باشد.
7
  """
 
8
  try:
9
+ df = pd.read_excel(file_path, header=2, sheet_name=0)
 
10
  except Exception as e:
11
+ raise ValueError(f"خطا در خواندن فایل اکسل: {str(e)}")
12
 
 
13
  column_mapping = {
14
  "کد": ["کد فهرست بها", "کد"],
15
  "عنوان": ["عنوان", "شرح کالا", "نام کالا"],
16
+ "تعداد": ["تعداد", "تعداد مورد نیاز"],
17
  "واحد": ["واحد", "واحد شمارش", "نوع واحد"]
18
  }
19
 
 
37
  return materials
38
 
39
 
40
+ def parse_user_input(file_path):
41
+ """
42
+ اگر شیت دوم برای ورودی کاربر وجود داشته باشد، آن را پردازش می‌کند.
43
+ """
44
+ try:
45
+ df = pd.read_excel(file_path, header=0, sheet_name=1)
46
+ data = df.to_dict(orient="records")
47
+ return data
48
+ except Exception:
49
+ return []
50
+
51
+
52
  def save_to_json(data, output_path="material_db.json"):
53
  """
54
+ ذخیره‌سازی اطلاعات مواد به صورت JSON.
55
  """
56
  try:
57
  with open(output_path, "w", encoding="utf-8") as f:
58
  json.dump(data, f, indent=2, ensure_ascii=False)
59
  except Exception as e:
60
  raise ValueError(f"❌ خطا در ذخیره فایل JSON: {str(e)}")