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 +3 -1
- akshare/fund/fund_etf_em.py +1 -1
- akshare/futures/futures_index_ccidx.py +6 -3
- akshare/stock_feature/stock_sy_em.py +2 -2
- akshare/stock_feature/stock_three_report_em.py +16 -0
- {akshare-1.15.53.dist-info → akshare-1.15.55.dist-info}/METADATA +1 -1
- {akshare-1.15.53.dist-info → akshare-1.15.55.dist-info}/RECORD +10 -10
- {akshare-1.15.53.dist-info → akshare-1.15.55.dist-info}/LICENSE +0 -0
- {akshare-1.15.53.dist-info → akshare-1.15.55.dist-info}/WHEEL +0 -0
- {akshare-1.15.53.dist-info → akshare-1.15.55.dist-info}/top_level.txt +0 -0
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.
|
|
2970
|
+
__version__ = "1.15.55"
|
|
2969
2971
|
__author__ = "AKFamily"
|
|
2970
2972
|
|
|
2971
2973
|
import sys
|
akshare/fund/fund_etf_em.py
CHANGED
|
@@ -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=[
|
|
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)
|
|
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
|
-
|
|
456
|
-
print(
|
|
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,4 +1,4 @@
|
|
|
1
|
-
akshare/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
382
|
-
akshare-1.15.
|
|
383
|
-
akshare-1.15.
|
|
384
|
-
akshare-1.15.
|
|
385
|
-
akshare-1.15.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|