akshare 1.15.53__py3-none-any.whl → 1.15.55__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of akshare might be problematic. Click here for more details.

akshare/__init__.py CHANGED
@@ -2963,9 +2963,11 @@ amac_manager_cancelled_info # 中国证券投资基金业协会-信息公示-诚
2963
2963
  1.15.51 fix: fix stock_gpzy_pledge_ratio_em interface
2964
2964
  1.15.52 fix: fix stock_zh_index_hist_csindex interface
2965
2965
  1.15.53 fix: fix futures_inventory_99 interface
2966
+ 1.15.54 fix: fix stock_sy_profile_em interface
2967
+ 1.15.55 fix: fix fund_etf_spot_em interface
2966
2968
  """
2967
2969
 
2968
- __version__ = "1.15.53"
2970
+ __version__ = "1.15.55"
2969
2971
  __author__ = "AKFamily"
2970
2972
 
2971
2973
  import sys
@@ -60,7 +60,7 @@ def fund_etf_spot_em() -> pd.DataFrame:
60
60
  "invt": "2",
61
61
  "wbp2u": "|0|0|0|web",
62
62
  "fid": "f3",
63
- "fs": "b:MK0021,b:MK0022,b:MK0023,b:MK0024",
63
+ "fs": "b:MK0021,b:MK0022,b:MK0023,b:MK0024,b:MK0827",
64
64
  "fields": (
65
65
  "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,"
66
66
  "f12,f13,f14,f15,f16,f17,f18,f20,f21,"
@@ -5,6 +5,7 @@ Date: 2023/11/9 14:00
5
5
  Desc: 中证商品指数
6
6
  http://www.ccidx.com/
7
7
  """
8
+
8
9
  from io import BytesIO
9
10
 
10
11
  import pandas as pd
@@ -51,7 +52,7 @@ def futures_index_ccidx(symbol: str = "中证商品期货指数") -> pd.DataFram
51
52
  temp_df["结算"] = pd.to_numeric(temp_df["结算"], errors="coerce")
52
53
  temp_df["涨跌"] = pd.to_numeric(temp_df["涨跌"], errors="coerce")
53
54
  temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
54
- temp_df.sort_values(by=['日期'], inplace=True)
55
+ temp_df.sort_values(by=["日期"], inplace=True)
55
56
  temp_df.reset_index(inplace=True, drop=True)
56
57
  return temp_df
57
58
 
@@ -60,7 +61,8 @@ def futures_index_min_ccidx(symbol: str = "中证监控油脂油料期货指数"
60
61
  """
61
62
  中证商品指数-商品指数-分时数据
62
63
  http://www.ccidx.com/index.html
63
- :param symbol: choice of {"中证商品期货指数", "中证商品期货价格指数", "中证监控油脂油料期货指数", "中证监控软商品期货指数", "中证监控能化期货指数", "中证监控钢铁期货指数"}
64
+ :param symbol: choice of {"中证商品期货指数", "中证商品期货价格指数", "中证监控油脂油料期货指数", "中证监控软商品期货指数",
65
+ "中证监控能化期货指数", "中证监控钢铁期货指数"}
64
66
  :type symbol: str
65
67
  :return: 商品指数-分时数据
66
68
  :rtype: pandas.DataFrame
@@ -93,7 +95,8 @@ def futures_index_min_ccidx(symbol: str = "中证监控油脂油料期货指数"
93
95
  "Pragma": "no-cache",
94
96
  "Proxy-Connection": "keep-alive",
95
97
  "Referer": "http://www.ccidx.com/cscidx/quote1",
96
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36",
98
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
99
+ "Chrome/92.0.4515.159 Safari/537.36",
97
100
  "X-Requested-With": "XMLHttpRequest",
98
101
  }
99
102
  r = requests.post(url, params=params, data=payload, headers=headers)
@@ -452,8 +452,8 @@ def stock_sy_hy_em(date: str = "20231231") -> pd.DataFrame:
452
452
 
453
453
 
454
454
  if __name__ == "__main__":
455
- stock_em_sy_profile_df = stock_sy_profile_em()
456
- print(stock_em_sy_profile_df)
455
+ stock_sy_profile_em_df = stock_sy_profile_em()
456
+ print(stock_sy_profile_em_df)
457
457
 
458
458
  stock_sy_yq_em_df = stock_sy_yq_em(date="20240630")
459
459
  print(stock_sy_yq_em_df)
@@ -68,6 +68,8 @@ def stock_balance_sheet_by_report_em(symbol: str = "SH600519") -> pd.DataFrame:
68
68
  }
69
69
  r = requests.get(url, params=params)
70
70
  data_json = r.json()
71
+ if "data" not in data_json.keys():
72
+ break
71
73
  temp_df = pd.DataFrame(data_json["data"])
72
74
  for col in temp_df.columns:
73
75
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -124,6 +126,8 @@ def stock_balance_sheet_by_yearly_em(symbol: str = "SH600036") -> pd.DataFrame:
124
126
  }
125
127
  r = requests.get(url, params=params)
126
128
  data_json = r.json()
129
+ if "data" not in data_json.keys():
130
+ break
127
131
  temp_df = pd.DataFrame(data_json["data"])
128
132
  for col in temp_df.columns:
129
133
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -171,6 +175,8 @@ def stock_profit_sheet_by_report_em(symbol: str = "SH600519") -> pd.DataFrame:
171
175
  }
172
176
  r = requests.get(url, params=params)
173
177
  data_json = r.json()
178
+ if "data" not in data_json.keys():
179
+ break
174
180
  temp_df = pd.DataFrame(data_json["data"])
175
181
  for col in temp_df.columns:
176
182
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -218,6 +224,8 @@ def stock_profit_sheet_by_yearly_em(symbol: str = "SH600519") -> pd.DataFrame:
218
224
  }
219
225
  r = requests.get(url, params=params)
220
226
  data_json = r.json()
227
+ if "data" not in data_json.keys():
228
+ break
221
229
  temp_df = pd.DataFrame(data_json["data"])
222
230
  for col in temp_df.columns:
223
231
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -267,6 +275,8 @@ def stock_profit_sheet_by_quarterly_em(
267
275
  }
268
276
  r = requests.get(url, params=params)
269
277
  data_json = r.json()
278
+ if "data" not in data_json.keys():
279
+ break
270
280
  temp_df = pd.DataFrame(data_json["data"])
271
281
  for col in temp_df.columns:
272
282
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -316,6 +326,8 @@ def stock_cash_flow_sheet_by_report_em(
316
326
  }
317
327
  r = requests.get(url, params=params)
318
328
  data_json = r.json()
329
+ if "data" not in data_json.keys():
330
+ break
319
331
  temp_df = pd.DataFrame(data_json["data"])
320
332
  for col in temp_df.columns:
321
333
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -365,6 +377,8 @@ def stock_cash_flow_sheet_by_yearly_em(
365
377
  }
366
378
  r = requests.get(url, params=params)
367
379
  data_json = r.json()
380
+ if "data" not in data_json.keys():
381
+ break
368
382
  temp_df = pd.DataFrame(data_json["data"])
369
383
  for col in temp_df.columns:
370
384
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -414,6 +428,8 @@ def stock_cash_flow_sheet_by_quarterly_em(
414
428
  }
415
429
  r = requests.get(url, params=params)
416
430
  data_json = r.json()
431
+ if "data" not in data_json.keys():
432
+ break
417
433
  temp_df = pd.DataFrame(data_json["data"])
418
434
  for col in temp_df.columns:
419
435
  if temp_df[col].isnull().all(): # 检查列是否包含 None 或 NaN
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: akshare
3
- Version: 1.15.53
3
+ Version: 1.15.55
4
4
  Summary: AKShare is an elegant and simple financial data interface library for Python, built for human beings!
5
5
  Home-page: https://github.com/akfamily/akshare
6
6
  Author: AKFamily
@@ -1,4 +1,4 @@
1
- akshare/__init__.py,sha256=2SaACef3zm3ubS7l_7DNebqR6iQAKIv1ILNe87vi0iI,184584
1
+ akshare/__init__.py,sha256=5NO442isv8d_EPYoT78C0I_x-AmmhjfXdV11gUV6NLM,184675
2
2
  akshare/datasets.py,sha256=-qdwaQjgBlftX84uM74KJqCYJYkQ50PV416_neA4uls,995
3
3
  akshare/exceptions.py,sha256=WEJjIhSmJ_xXNW6grwV4nufE_cfmmyuhmueVGiN1VAg,878
4
4
  akshare/request.py,sha256=HtFFf9MhfEibR-ETWe-1Tts6ELU4VKSqA-ghaXjegQM,4252
@@ -86,7 +86,7 @@ akshare/fund/fund_amac.py,sha256=Dml3EgpJhmVgkttb0OdaWN41ynOCIbJ0-1qAPDWF0oo,338
86
86
  akshare/fund/fund_announcement.py,sha256=g5rcIC9vQ4HapZd0b7cDbFYzHu9V6bOKhwxRHVfmv8k,1848
87
87
  akshare/fund/fund_aum_em.py,sha256=dy1R1-0X48H8S-LPiuggNA5M-6MvQ08fnp5bytvCGPQ,3518
88
88
  akshare/fund/fund_em.py,sha256=nX0VA5JeiF-zRr1J10X-U9-pJj5KFDUAbovN1DWjvTo,40450
89
- akshare/fund/fund_etf_em.py,sha256=8HrEQbM3wSMHuTAle9g6iT4ULaPjsqCcTBVU7PrpqJA,17377
89
+ akshare/fund/fund_etf_em.py,sha256=oEPVCg-CQvOfLS7bt69yshqPiUPbxDpWa-FnMF7GqIQ,17386
90
90
  akshare/fund/fund_etf_sina.py,sha256=3eYnpug02oSZfR6fuWsT5mZRMRNm39VYCLHKnWdvonM,5218
91
91
  akshare/fund/fund_etf_ths.py,sha256=vb_jy0h2-Kz2dNWUrwBYxPB0MAotv0KZgnFhE98ohSM,3432
92
92
  akshare/fund/fund_fhsp_em.py,sha256=-zSwwveiCB4HHRxwAuaLDTQHmNe3FxwxxeoPeiG8JbM,5546
@@ -113,7 +113,7 @@ akshare/futures/futures_daily_bar.py,sha256=pWjpy6O27EVCtQmDYr6Og3-qqrDzQkKuYfS-
113
113
  akshare/futures/futures_foreign.py,sha256=oSIoAg5oy-CIlPWHkQffcvZGu02Y2GWOrt-6aPA53Xg,2059
114
114
  akshare/futures/futures_hf_em.py,sha256=jne-wUYr2QTUkDq3qAxYKE0Hm90L3H8qUDu3JavKiUg,3338
115
115
  akshare/futures/futures_hq_sina.py,sha256=eK1gEan4DPvpYmln8-tNnzh_J_733s95DBr--NqNYVA,9576
116
- akshare/futures/futures_index_ccidx.py,sha256=9Rhk3ps-H69tU-NIV0W2NdLFUDTSUx0bwtePA6gLMZA,4566
116
+ akshare/futures/futures_index_ccidx.py,sha256=Ni5GICleqcHrmLatOE_Bs4i1DS3bn0lEm_RyrjlucB0,4581
117
117
  akshare/futures/futures_inventory_99.py,sha256=xdX8GSCEcRWYnbw0XS22rcblXOvlzUvfUltv7oyRh3Y,2990
118
118
  akshare/futures/futures_inventory_em.py,sha256=C5nt4F51WB-oc8o3GrMvEGo0SO2mIq_H1vHVl42vzT0,2340
119
119
  akshare/futures/futures_news_baidu.py,sha256=uqXUgQa7_aNjj1g4IBt6Ic4DhlsuBvjEEYC3OTPeqmA,1544
@@ -332,10 +332,10 @@ akshare/stock_feature/stock_qsjy_em.py,sha256=7EHroLZC3-X_3WNhb7GV9MPQHbxjtkfKI_
332
332
  akshare/stock_feature/stock_report_em.py,sha256=jhePrTKGIYzdz8idiPoDs1vEajd73XRIFpZyWQggKa4,18075
333
333
  akshare/stock_feature/stock_research_report_em.py,sha256=XFQadpUI2l0-Ik8BQWf-eCC4uFC1xxt9VNiZ9NU2zp0,4888
334
334
  akshare/stock_feature/stock_sns_sseinfo.py,sha256=TGGLw5P77Hh-sSHgw_KKoK29d1m_V_2GDQXe9m_XFew,4556
335
- akshare/stock_feature/stock_sy_em.py,sha256=GdqjWH8uVy_8st2sYENgzNlJRQxkTajDkaHBwX31pjc,17721
335
+ akshare/stock_feature/stock_sy_em.py,sha256=QZmjiYK22WXusogUezNFfS5xq6ApCGq-5aGZk4VMZHw,17721
336
336
  akshare/stock_feature/stock_technology_ths.py,sha256=4u9z7H6MYEutOYAQvYfzgc_FxG6XlhkMLujSotAbraw,30827
337
337
  akshare/stock_feature/stock_tfp_em.py,sha256=nN4gcK6hOe4tIA-nOoY_lMNC7qY7o9Ga35_-VvxS3fA,2474
338
- akshare/stock_feature/stock_three_report_em.py,sha256=riIE9YwMKn279GAAdBFATTfK4_ui4X30Ew1LNcIwwsk,23675
338
+ akshare/stock_feature/stock_three_report_em.py,sha256=Menwk2QMf9LDZAHoXTythrzyYICxVo1HvRgo8AXPdX8,24163
339
339
  akshare/stock_feature/stock_ttm_lyr.py,sha256=RwKMgI_A3rDRIITd_idmvlFSkn4DTUPNVfPjISSTZYw,1110
340
340
  akshare/stock_feature/stock_value_em.py,sha256=RA842dkeChSEoS3yN9fiGxS3eDzYjeUdrpXbnteyzZY,2576
341
341
  akshare/stock_feature/stock_wencai.py,sha256=KPwt72SOnK4dHh2vpWOHYynkj8Vrbv3AW-EXK7d3NZY,4343
@@ -378,8 +378,8 @@ akshare/utils/token_process.py,sha256=K4rGXjh_tgugbRcyOK2h2x0jP3PT65IIK7nxhUKhOe
378
378
  akshare/utils/tqdm.py,sha256=MuPNwcswkOGjwWQOMWXi9ZvQ_RmW4obCWRj2i7HM7FE,847
379
379
  tests/__init__.py,sha256=gNzhlO0UPjFq6Ieb38kaVIODXv4cTDByrdohAZnDYt4,82
380
380
  tests/test_func.py,sha256=j1MGYbZI2if2j_LY1S4FLsf4qfq4NwVqD5wmRlv5Log,832
381
- akshare-1.15.53.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
382
- akshare-1.15.53.dist-info/METADATA,sha256=SjNgBu98A4GV4_4GSZqLTlAX5E0T35kZdQB3pIGWZIc,13423
383
- akshare-1.15.53.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
384
- akshare-1.15.53.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
385
- akshare-1.15.53.dist-info/RECORD,,
381
+ akshare-1.15.55.dist-info/LICENSE,sha256=mmSZCPgfHiVw34LXuFArd-SUgQtBJ_QsIlh-kWlDHfs,1073
382
+ akshare-1.15.55.dist-info/METADATA,sha256=3t-kQ7RHkqF29Z4DPbMoUKo3LWYkax33z0XK6STpwP4,13423
383
+ akshare-1.15.55.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
384
+ akshare-1.15.55.dist-info/top_level.txt,sha256=jsf9ZzZPmHaISTVumQPsAw7vv7Yv-PdEVW70SMEelQQ,14
385
+ akshare-1.15.55.dist-info/RECORD,,