tushare 1.4.16__py3-none-any.whl → 1.4.18__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.
- tushare/__init__.py +1 -1
- tushare/stock/rtq.py +5 -5
- tushare/util/format_stock_code.py +19 -19
- {tushare-1.4.16.dist-info → tushare-1.4.18.dist-info}/METADATA +5 -1
- {tushare-1.4.16.dist-info → tushare-1.4.18.dist-info}/RECORD +8 -8
- {tushare-1.4.16.dist-info → tushare-1.4.18.dist-info}/WHEEL +1 -1
- {tushare-1.4.16.dist-info → tushare-1.4.18.dist-info}/LICENSE +0 -0
- {tushare-1.4.16.dist-info → tushare-1.4.18.dist-info}/top_level.txt +0 -0
tushare/__init__.py
CHANGED
tushare/stock/rtq.py
CHANGED
@@ -636,16 +636,16 @@ def format_str_to_float(x):
|
|
636
636
|
|
637
637
|
if __name__ == '__main__':
|
638
638
|
# df = realtime_quote(ts_code="000688.SH,000010.SH,000012.SH,399005.SZ", src="sina")
|
639
|
-
df = realtime_list(src="sina", page_count=1)
|
640
|
-
print(df)
|
639
|
+
# df = realtime_list(src="sina", page_count=1)
|
640
|
+
# print(df)
|
641
641
|
# ts_code = '399005.SZ'
|
642
642
|
# ts_code = '000001.SZ'
|
643
643
|
# # ts_code = '836149.BJ'
|
644
644
|
# # ts_code = '600000.SH'
|
645
645
|
# # ts_code = '000001.SH'
|
646
646
|
# # ts_code = '000010.SH'
|
647
|
-
|
648
|
-
|
649
|
-
|
647
|
+
ts_code = '600148.SH'
|
648
|
+
df = realtime_quote(src="dc", ts_code=ts_code)
|
649
|
+
print(df)
|
650
650
|
|
651
651
|
|
@@ -16,50 +16,47 @@ def format_stock_code(x, special=""):
|
|
16
16
|
@param special:
|
17
17
|
@return:
|
18
18
|
"""
|
19
|
+
x = str(x)
|
20
|
+
stock_len = 6
|
21
|
+
hk_stock_len = 5
|
19
22
|
if special:
|
20
23
|
x = str(x)
|
21
24
|
if "行业" in special or "概念" in special:
|
22
|
-
x = x.zfill(
|
25
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
23
26
|
return '%s.TI' % x
|
24
|
-
elif "港股"
|
27
|
+
elif special == "港股":
|
25
28
|
r = re.search(r"(\d+)", str(x), re.S | re.M)
|
26
29
|
if not r:
|
27
30
|
return x
|
28
31
|
else:
|
29
32
|
x = r.group(1)
|
30
|
-
x = x.zfill(
|
33
|
+
x = x.zfill(hk_stock_len) if len(x) < hk_stock_len else x
|
31
34
|
return '%s.HK' % x
|
32
35
|
elif special == "场外基金" or special == "热基":
|
33
|
-
x = x.zfill(
|
36
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
34
37
|
return '%s.OF' % x
|
35
38
|
elif special == "可转债":
|
36
39
|
if str(x).startswith('11'):
|
37
|
-
x = x.zfill(
|
40
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
38
41
|
return '%s.SH' % x
|
39
42
|
elif str(x).startswith('12'):
|
40
|
-
x = x.zfill(
|
43
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
41
44
|
return '%s.SZ' % x
|
42
|
-
|
43
|
-
if not x[0].isdigit():
|
44
|
-
r = re.search(r"(\d+)", str(x), re.S | re.M)
|
45
|
-
if not r:
|
46
|
-
return x.upper()
|
47
|
-
else:
|
48
|
-
x = r.group(1) # # return f"{r.group(1)}.{str(x).split(r.group(1))[0]}"
|
49
|
-
|
50
45
|
if not x[0].isdigit():
|
51
46
|
return x.upper()
|
47
|
+
if str(x[0:3]) in ['920']:
|
48
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
49
|
+
return '%s.BJ' % x
|
52
50
|
if str(x[0]) in ['5', '6', '9']:
|
53
|
-
x = x.zfill(
|
51
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
54
52
|
return '%s.SH' % x
|
55
53
|
elif str(x[0]) in ['8', '4']:
|
56
|
-
x = x.zfill(
|
54
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
57
55
|
return '%s.BJ' % x
|
58
56
|
else:
|
59
|
-
x = x.zfill(
|
57
|
+
x = x.zfill(stock_len) if len(x) < stock_len else x
|
60
58
|
return '%s.SZ' % x
|
61
59
|
|
62
|
-
|
63
60
|
def a_symbol_verify(x):
|
64
61
|
l = str(x).upper().split(".")
|
65
62
|
if not x[-1].isdigit():
|
@@ -107,6 +104,8 @@ def verify_stock_or_index(x):
|
|
107
104
|
return True
|
108
105
|
elif x.startswith('4') and x.endswith('BJ'):
|
109
106
|
return True
|
107
|
+
elif x.startswith('920') and x.endswith('BJ'):
|
108
|
+
return True
|
110
109
|
elif x.startswith('9') and x.endswith('CSI'):
|
111
110
|
return False
|
112
111
|
else:
|
@@ -119,5 +118,6 @@ if __name__ == '__main__':
|
|
119
118
|
# s = symbol_verify("sz000001")
|
120
119
|
# s = symbol_verify("000001.SZ")
|
121
120
|
# s = symbols_f("000001", special="港股")
|
122
|
-
s = verify_stock_or_index(x="399005.SZ")
|
121
|
+
# s = verify_stock_or_index(x="399005.SZ")
|
122
|
+
s = format_stock_code(x="92052")
|
123
123
|
print(s)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tushare
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.18
|
4
4
|
Summary: A utility for crawling historical and Real-time Quotes data of China stocks
|
5
5
|
Home-page: https://tushare.pro
|
6
6
|
Author: Jimmy Liu
|
@@ -80,6 +80,10 @@ return::
|
|
80
80
|
|
81
81
|
Log
|
82
82
|
--------------
|
83
|
+
1.4.17
|
84
|
+
-------
|
85
|
+
- 修复 920 开头更改是北交所
|
86
|
+
-------
|
83
87
|
1.4.14
|
84
88
|
-------
|
85
89
|
- 修复 realtime_list (爬虫版)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
tushare/__init__.py,sha256=
|
1
|
+
tushare/__init__.py,sha256=2L3HKsXb_jdZ_osmal0V9cG7Glc85chMkAFchG_1XeY,4778
|
2
2
|
tushare/bond/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
tushare/bond/bonds.py,sha256=PJM0xDiWZDpOPwDtbEU9PdP0M_Gu0c599YuB1rbZ3r8,232
|
4
4
|
tushare/coins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -35,7 +35,7 @@ tushare/stock/news_vars.py,sha256=CQ18hvyoeScelBCqKgF_rgAufoEALAUT8y_LERvZKHk,45
|
|
35
35
|
tushare/stock/newsevent.py,sha256=STR7C8MjtZlaXTCG0QNaojBuK4-oxP_8hT7ZIvRpbiI,6944
|
36
36
|
tushare/stock/ref_vars.py,sha256=MIxor-2rISl65I32vUzC-z7ZC_QFzG4sxOKDyjLWuU4,4449
|
37
37
|
tushare/stock/reference.py,sha256=x_HZlrP58T-5OTZ7SLdf2Dh9THj1h7cT4wcIp42IHFI,38227
|
38
|
-
tushare/stock/rtq.py,sha256=
|
38
|
+
tushare/stock/rtq.py,sha256=uMljEz2030OE-i_JAkeSwM1gghK4g5omTx4mC0EqTVc,23159
|
39
39
|
tushare/stock/rtq_vars.py,sha256=V6LeJkSP76z8veRfP_mGiQ63V5YBHoTMaqUA5hSBWh4,4200
|
40
40
|
tushare/stock/shibor.py,sha256=Fx9OUZ429kz6l7ZdaYSD6p_X79ud69PDM9EZogm8xCY,6422
|
41
41
|
tushare/stock/trading.py,sha256=3bvM4pexEYW-uGGEL7g6Vkte4sqGC1iYO6dC8mGLSdM,55619
|
@@ -61,7 +61,7 @@ tushare/util/common.py,sha256=KG86VdlhfnOf0j6SE2bBeowC_7Z54RqWpVnudS6KvEU,2581
|
|
61
61
|
tushare/util/conns.py,sha256=mkcxGGD7-13GXMlrwmo4LMecmgWdm63I8KDpvcW53cI,1456
|
62
62
|
tushare/util/dateu.py,sha256=YSvPvOlMY0qvT2IDwFNOHxTLBrPQ9ULGO7ljfu9tK3s,2931
|
63
63
|
tushare/util/form_date.py,sha256=4nnjp6xo40FftsRP9YY1FJoPErxaWVCkjIp_3O1Qy7M,1119
|
64
|
-
tushare/util/format_stock_code.py,sha256=
|
64
|
+
tushare/util/format_stock_code.py,sha256=5uQngRIqN6pzEHtI-AX_oBdHxRdOVpAvA_S41mCUY5I,3639
|
65
65
|
tushare/util/formula.py,sha256=XZVK1NTF8BTrCo78EHLzjAM_wLAjxybrN7Q-6HCHmCo,6863
|
66
66
|
tushare/util/mailmerge.py,sha256=y_QkfHvH8nQ7peC8wQs5idB6xW9PYzzrBynzxgo924M,8980
|
67
67
|
tushare/util/netbase.py,sha256=URvOTLJSgO7e6uCmHHD9EeQ2TRvjpxIEF-wQaWx5cKE,942
|
@@ -72,8 +72,8 @@ tushare/util/verify_token.py,sha256=cuV3RErWbOC318NANCYL6K1LKZ3wSAL2yMwZHA7tD3s,
|
|
72
72
|
tushare/util/protobuf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
73
73
|
tushare/util/protobuf/funcs.py,sha256=UCdK8FxTyjPZsNzoEeXqYzqrQXUmRMvW5hua6GPA66A,779
|
74
74
|
tushare/util/protobuf/response_pb2.py,sha256=vJH9ONkDuJlg6y-q1PvuDZoviKrK7hzNtMieQHK45DI,11347
|
75
|
-
tushare-1.4.
|
76
|
-
tushare-1.4.
|
77
|
-
tushare-1.4.
|
78
|
-
tushare-1.4.
|
79
|
-
tushare-1.4.
|
75
|
+
tushare-1.4.18.dist-info/LICENSE,sha256=C2j55UI0Ul-1-wA1-rn7OaY6b3vGl4YukiyvYzHsU9o,1503
|
76
|
+
tushare-1.4.18.dist-info/METADATA,sha256=CVHRLIhtj6fvzzYRjivj5_Z71cZFIKuInm9IY7E1nUE,3030
|
77
|
+
tushare-1.4.18.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
|
78
|
+
tushare-1.4.18.dist-info/top_level.txt,sha256=HHOxMuqc31KuAIcxpE0t5dAPMKbaiRtjsjTMFd7FlXI,8
|
79
|
+
tushare-1.4.18.dist-info/RECORD,,
|
File without changes
|
File without changes
|