diginoron commited on
Commit
c62298d
·
verified ·
1 Parent(s): 3ba690a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -6
app.py CHANGED
@@ -3,11 +3,11 @@ import pandas as pd
3
  import comtradeapicall
4
  import os
5
 
6
- # ۱) متغیرهای عمومی
7
- subscription_key = os.getenv("COMTRADE_API_KEY", "")
8
  proxy_url = None
9
 
10
  def get_importers(hs_code: str, period: str):
 
11
  df = comtradeapicall.previewFinalData(
12
  typeCode='C', freqCode='M', clCode='HS', period=period,
13
  reporterCode=None, cmdCode=hs_code, flowCode='M',
@@ -17,18 +17,31 @@ def get_importers(hs_code: str, period: str):
17
  proxy_url=proxy_url
18
  )
19
  if df is None or df.empty:
20
- return "هیچ داده‌ای یافت نشد."
 
 
 
21
  df = df[df['cifvalue'] > 0]
22
  df = df.sort_values('cifvalue', ascending=False)
23
- return df['reporterDesc'].tolist()
 
 
 
 
24
 
25
  with gr.Blocks() as demo:
26
  gr.Markdown("## جست‌وجوی واردکننده‌های یک HS-Code")
 
27
  with gr.Row():
28
  inp_hs = gr.Textbox(label="HS Code (مثلا 010121)")
29
- inp_period = gr.Textbox(label="دوره (YYYYMM، مثلاً 202205)")
 
30
  btn = gr.Button("نمایش کشورها")
31
- out = gr.Dataframe(headers=["کشورهای واردکننده"], interactive=False)
 
 
 
 
32
 
33
  btn.click(fn=get_importers,
34
  inputs=[inp_hs, inp_period],
 
3
  import comtradeapicall
4
  import os
5
 
6
+ subscription_key = os.getenv("COMTRADE_API_KEY", "")
 
7
  proxy_url = None
8
 
9
  def get_importers(hs_code: str, period: str):
10
+ # ۱. فراخوانی preview تا ۵۰۰ رکورد
11
  df = comtradeapicall.previewFinalData(
12
  typeCode='C', freqCode='M', clCode='HS', period=period,
13
  reporterCode=None, cmdCode=hs_code, flowCode='M',
 
17
  proxy_url=proxy_url
18
  )
19
  if df is None or df.empty:
20
+ # اگر خالی بود، یک DataFrame خالی برمی‌گردانیم
21
+ return pd.DataFrame(columns=["reporterCode","reporterDesc","cifvalue"])
22
+
23
+ # ۲. فیلتر و مرتب‌سازی
24
  df = df[df['cifvalue'] > 0]
25
  df = df.sort_values('cifvalue', ascending=False)
26
+
27
+ # ۳. ستون‌های مورد نظر
28
+ result = df[["reporterCode","reporterDesc","cifvalue"]].copy()
29
+ result.reset_index(drop=True, inplace=True)
30
+ return result
31
 
32
  with gr.Blocks() as demo:
33
  gr.Markdown("## جست‌وجوی واردکننده‌های یک HS-Code")
34
+
35
  with gr.Row():
36
  inp_hs = gr.Textbox(label="HS Code (مثلا 010121)")
37
+ inp_period = gr.Textbox(label="دوره (YYYYMM، مثلا 202205)")
38
+
39
  btn = gr.Button("نمایش کشورها")
40
+ out = gr.Dataframe(
41
+ headers=["reporterCode","reporterDesc","cifvalue"],
42
+ datatype=["number","text","number"],
43
+ interactive=False,
44
+ )
45
 
46
  btn.click(fn=get_importers,
47
  inputs=[inp_hs, inp_period],