Reza-galaxy21 commited on
Commit
0ad5507
·
verified ·
1 Parent(s): 83340e8

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +5 -28
utils.py CHANGED
@@ -2,13 +2,7 @@ import pandas as pd
2
  import json
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
  "کد": ["کد فهرست بها", "کد"],
@@ -26,6 +20,8 @@ def parse_excel_file(file_path):
26
 
27
  materials = []
28
  for _, row in df.iterrows():
 
 
29
  material = {
30
  "code": str(row[resolved_columns["کد"]]).strip(),
31
  "description": str(row[resolved_columns["عنوان"]]).strip(),
@@ -36,25 +32,6 @@ def parse_excel_file(file_path):
36
 
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)}")
 
2
  import json
3
 
4
  def parse_excel_file(file_path):
5
+ df = pd.read_excel(file_path, header=2)
 
 
 
 
 
 
6
 
7
  column_mapping = {
8
  "کد": ["کد فهرست بها", "کد"],
 
20
 
21
  materials = []
22
  for _, row in df.iterrows():
23
+ if pd.isna(row[resolved_columns["کد"]]):
24
+ continue # ردیف‌های خالی نادیده گرفته شوند
25
  material = {
26
  "code": str(row[resolved_columns["کد"]]).strip(),
27
  "description": str(row[resolved_columns["عنوان"]]).strip(),
 
32
 
33
  return materials
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  def save_to_json(data, output_path="material_db.json"):
36
+ with open(output_path, "w", encoding="utf-8") as f:
37
+ json.dump(data, f, indent=2, ensure_ascii=False)