akshare 1.12.95__py3-none-any.whl → 1.15.72__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.

Files changed (240) hide show
  1. akshare/__init__.py +446 -139
  2. akshare/air/air_hebei.py +79 -53
  3. akshare/air/air_zhenqi.py +29 -43
  4. akshare/air/sunrise_tad.py +32 -17
  5. akshare/bank/bank_cbirc_2020.py +12 -9
  6. akshare/bond/bond_cb_ths.py +17 -9
  7. akshare/bond/bond_china.py +38 -39
  8. akshare/bond/bond_china_money.py +75 -48
  9. akshare/bond/bond_convert.py +40 -16
  10. akshare/bond/bond_info_cm.py +28 -8
  11. akshare/bond/bond_issue_cninfo.py +73 -30
  12. akshare/bond/{bond_zh_cov_sina.py → bond_zh_cov.py} +41 -17
  13. akshare/bond/bond_zh_sina.py +57 -51
  14. akshare/cal/__init__.py +0 -0
  15. akshare/cal/rv.py +170 -0
  16. akshare/cost/cost_living.py +7 -5
  17. akshare/currency/currency_safe.py +7 -6
  18. akshare/data/cninfo.js +15 -0
  19. akshare/datasets.py +10 -21
  20. akshare/economic/macro_bank.py +95 -653
  21. akshare/economic/macro_china.py +772 -1024
  22. akshare/economic/macro_china_hk.py +65 -243
  23. akshare/economic/macro_china_nbs.py +24 -7
  24. akshare/economic/macro_constitute.py +17 -12
  25. akshare/economic/macro_euro.py +13 -6
  26. akshare/economic/macro_finance_ths.py +133 -0
  27. akshare/economic/macro_info_ws.py +100 -0
  28. akshare/economic/macro_japan.py +5 -4
  29. akshare/economic/macro_other.py +12 -9
  30. akshare/economic/macro_usa.py +376 -1940
  31. akshare/economic/marco_cnbs.py +11 -6
  32. akshare/energy/energy_carbon.py +94 -125
  33. akshare/event/migration.py +3 -2
  34. akshare/exceptions.py +43 -0
  35. akshare/file_fold/calendar.json +245 -2
  36. akshare/fortune/fortune_500.py +15 -48
  37. akshare/fund/fund_amac.py +157 -75
  38. akshare/fund/fund_em.py +191 -184
  39. akshare/fund/fund_etf_em.py +20 -19
  40. akshare/fund/fund_etf_sina.py +71 -23
  41. akshare/fund/fund_etf_ths.py +93 -0
  42. akshare/fund/fund_fee_em.py +98 -0
  43. akshare/fund/fund_lof_em.py +10 -8
  44. akshare/fund/fund_portfolio_em.py +60 -50
  45. akshare/fund/fund_rank_em.py +91 -82
  46. akshare/fund/fund_report_cninfo.py +63 -48
  47. akshare/fund/fund_scale_sina.py +20 -10
  48. akshare/fund/fund_xq.py +139 -109
  49. akshare/futures/cons.py +8 -31
  50. akshare/futures/cot.py +185 -137
  51. akshare/futures/futures_basis.py +97 -32
  52. akshare/futures/futures_comm_ctp.py +37 -0
  53. akshare/futures/futures_comm_qihuo.py +74 -45
  54. akshare/futures/futures_daily_bar.py +121 -184
  55. akshare/futures/futures_hf_em.py +66 -61
  56. akshare/futures/futures_hq_sina.py +79 -61
  57. akshare/futures/futures_index_ccidx.py +6 -3
  58. akshare/futures/futures_inventory_99.py +61 -272
  59. akshare/futures/futures_news_shmet.py +4 -2
  60. akshare/futures/futures_roll_yield.py +12 -25
  61. akshare/futures/futures_spot_stock_em.py +19 -13
  62. akshare/futures/futures_stock_js.py +14 -12
  63. akshare/futures/futures_to_spot.py +38 -33
  64. akshare/futures/futures_warehouse_receipt.py +75 -71
  65. akshare/futures/futures_zh_sina.py +73 -50
  66. akshare/futures/symbol_var.py +18 -13
  67. akshare/futures_derivative/futures_contract_info_czce.py +60 -52
  68. akshare/futures_derivative/futures_contract_info_ine.py +43 -34
  69. akshare/futures_derivative/futures_contract_info_shfe.py +46 -35
  70. akshare/futures_derivative/futures_cot_sina.py +26 -19
  71. akshare/futures_derivative/futures_spot_sys.py +21 -8
  72. akshare/fx/currency_investing.py +19 -285
  73. akshare/index/index_cflp.py +29 -26
  74. akshare/index/index_cni.py +86 -88
  75. akshare/index/index_cons.py +26 -10
  76. akshare/index/index_cx.py +248 -47
  77. akshare/index/index_drewry.py +17 -16
  78. akshare/index/index_hog.py +27 -26
  79. akshare/index/index_option_qvix.py +329 -0
  80. akshare/index/index_research_fund_sw.py +134 -0
  81. akshare/index/{index_sw_research.py → index_research_sw.py} +122 -58
  82. akshare/index/index_spot.py +9 -5
  83. akshare/index/index_stock_hk.py +35 -16
  84. akshare/index/index_stock_us_sina.py +1 -1
  85. akshare/index/index_stock_zh.py +180 -89
  86. akshare/index/index_stock_zh_csindex.py +15 -369
  87. akshare/index/index_sw.py +62 -34
  88. akshare/index/index_yw.py +46 -23
  89. akshare/index/index_zh_a_scope.py +48 -0
  90. akshare/index/index_zh_em.py +17 -14
  91. akshare/interest_rate/interbank_rate_em.py +14 -9
  92. akshare/movie/artist_yien.py +32 -5
  93. akshare/movie/movie_yien.py +92 -18
  94. akshare/movie/video_yien.py +28 -5
  95. akshare/news/news_baidu.py +78 -44
  96. akshare/news/news_cctv.py +38 -38
  97. akshare/news/news_stock.py +6 -3
  98. akshare/nlp/nlp_interface.py +7 -8
  99. akshare/option/cons.py +11 -11
  100. akshare/option/option_comm_qihuo.py +86 -0
  101. akshare/option/option_commodity.py +178 -51
  102. akshare/option/option_daily_stats_sse_szse.py +146 -0
  103. akshare/option/option_em.py +147 -138
  104. akshare/option/option_finance_sina.py +160 -137
  105. akshare/option/option_lhb_em.py +62 -56
  106. akshare/option/option_risk_indicator_sse.py +17 -14
  107. akshare/other/other_car_cpca.py +934 -0
  108. akshare/other/{other_car.py → other_car_gasgoo.py} +15 -54
  109. akshare/qdii/__init__.py +0 -0
  110. akshare/qdii/qdii_jsl.py +233 -0
  111. akshare/request.py +117 -0
  112. akshare/spot/spot_hog_soozhu.py +232 -0
  113. akshare/spot/spot_price_qh.py +121 -0
  114. akshare/spot/spot_sge.py +63 -10
  115. akshare/stock/stock_allotment_cninfo.py +10 -9
  116. akshare/stock/stock_ask_bid_em.py +27 -3
  117. akshare/stock/stock_board_concept_em.py +23 -14
  118. akshare/stock/stock_board_industry_em.py +40 -34
  119. akshare/stock/stock_cg_equity_mortgage.py +15 -11
  120. akshare/stock/stock_cg_guarantee.py +41 -51
  121. akshare/stock/stock_cg_lawsuit.py +36 -35
  122. akshare/stock/stock_dividend_cninfo.py +12 -6
  123. akshare/stock/stock_dzjy_em.py +347 -260
  124. akshare/stock/stock_fund_em.py +332 -84
  125. akshare/stock/stock_hk_famous.py +108 -0
  126. akshare/stock/stock_hk_sina.py +8 -7
  127. akshare/stock/stock_hold_control_cninfo.py +100 -15
  128. akshare/stock/stock_hold_control_em.py +4 -3
  129. akshare/stock/stock_hold_num_cninfo.py +18 -12
  130. akshare/stock/stock_hot_rank_em.py +2 -1
  131. akshare/stock/stock_hot_search_baidu.py +5 -2
  132. akshare/stock/stock_industry_cninfo.py +24 -18
  133. akshare/stock/stock_industry_pe_cninfo.py +45 -31
  134. akshare/stock/stock_industry_sw.py +9 -10
  135. akshare/stock/stock_info.py +25 -15
  136. akshare/stock/stock_info_em.py +5 -2
  137. akshare/stock/stock_intraday_em.py +5 -2
  138. akshare/stock/stock_intraday_sina.py +22 -18
  139. akshare/stock/stock_ipo_summary_cninfo.py +25 -10
  140. akshare/stock/stock_new_cninfo.py +32 -19
  141. akshare/stock/stock_news_cx.py +39 -0
  142. akshare/stock/stock_profile_cninfo.py +9 -8
  143. akshare/stock/stock_rank_forecast.py +8 -6
  144. akshare/stock/stock_share_changes_cninfo.py +18 -14
  145. akshare/stock/stock_share_hold.py +24 -19
  146. akshare/stock/stock_summary.py +54 -26
  147. akshare/stock/stock_us_famous.py +15 -6
  148. akshare/stock/stock_us_pink.py +7 -5
  149. akshare/stock/stock_us_sina.py +15 -12
  150. akshare/stock/stock_xq.py +38 -12
  151. akshare/stock/stock_zh_a_sina.py +53 -78
  152. akshare/stock/stock_zh_b_sina.py +32 -55
  153. akshare/stock/stock_zh_kcb_report.py +11 -9
  154. akshare/stock/stock_zh_kcb_sina.py +67 -64
  155. akshare/stock_feature/stock_a_below_net_asset_statistics.py +5 -2
  156. akshare/stock_feature/stock_a_high_low.py +5 -2
  157. akshare/stock_feature/stock_a_indicator.py +12 -9
  158. akshare/stock_feature/stock_a_pe_and_pb.py +27 -6
  159. akshare/stock_feature/stock_account_em.py +58 -40
  160. akshare/stock_feature/stock_analyst_em.py +36 -27
  161. akshare/stock_feature/stock_board_industry_ths.py +136 -400
  162. akshare/stock_feature/stock_comment_em.py +118 -85
  163. akshare/stock_feature/stock_concept_futu.py +183 -0
  164. akshare/stock_feature/stock_cyq_em.py +58 -54
  165. akshare/stock_feature/stock_disclosure_cninfo.py +147 -102
  166. akshare/stock_feature/stock_esg_sina.py +216 -11
  167. akshare/stock_feature/stock_fhps_em.py +60 -25
  168. akshare/stock_feature/stock_fhps_ths.py +25 -6
  169. akshare/stock_feature/stock_fund_flow.py +38 -25
  170. akshare/stock_feature/stock_gdfx_em.py +180 -95
  171. akshare/stock_feature/stock_gdhs.py +73 -49
  172. akshare/stock_feature/stock_gpzy_em.py +78 -46
  173. akshare/stock_feature/stock_hist_em.py +164 -111
  174. akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
  175. akshare/stock_feature/stock_hsgt_em.py +184 -452
  176. akshare/stock_feature/stock_info.py +52 -29
  177. akshare/stock_feature/stock_inner_trade_xq.py +39 -31
  178. akshare/stock_feature/stock_irm_cninfo.py +32 -9
  179. akshare/stock_feature/stock_jgdy_em.py +41 -38
  180. akshare/stock_feature/stock_lh_yybpm.py +36 -37
  181. akshare/stock_feature/stock_lhb_em.py +135 -71
  182. akshare/stock_feature/stock_lhb_sina.py +93 -46
  183. akshare/stock_feature/stock_margin_em.py +102 -0
  184. akshare/stock_feature/{stock_sse_margin.py → stock_margin_sse.py} +21 -15
  185. akshare/stock_feature/{stock_szse_margin.py → stock_margin_szse.py} +23 -19
  186. akshare/stock_feature/stock_market_legu.py +13 -8
  187. akshare/stock_feature/stock_pankou_em.py +72 -34
  188. akshare/stock_feature/stock_report_em.py +244 -54
  189. akshare/stock_feature/stock_research_report_em.py +48 -19
  190. akshare/stock_feature/stock_sns_sseinfo.py +15 -12
  191. akshare/stock_feature/stock_sy_em.py +86 -33
  192. akshare/stock_feature/stock_technology_ths.py +152 -120
  193. akshare/stock_feature/stock_tfp_em.py +35 -13
  194. akshare/stock_feature/stock_three_report_em.py +119 -77
  195. akshare/stock_feature/stock_ttm_lyr.py +4 -7
  196. akshare/stock_feature/stock_value_em.py +83 -0
  197. akshare/stock_feature/stock_wencai.py +21 -9
  198. akshare/stock_feature/stock_yjyg_em.py +63 -28
  199. akshare/stock_feature/stock_zf_pg.py +61 -38
  200. akshare/stock_feature/stock_zh_valuation_baidu.py +3 -2
  201. akshare/stock_feature/stock_ztb_em.py +62 -40
  202. akshare/stock_fundamental/stock_finance.py +150 -58
  203. akshare/stock_fundamental/stock_finance_ths.py +116 -31
  204. akshare/stock_fundamental/stock_mda_ym.py +5 -3
  205. akshare/stock_fundamental/stock_notice.py +29 -15
  206. akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
  207. akshare/stock_fundamental/stock_profit_forecast_ths.py +19 -10
  208. akshare/stock_fundamental/stock_register_em.py +448 -0
  209. akshare/stock_fundamental/stock_restricted_em.py +79 -32
  210. akshare/stock_fundamental/stock_zygc.py +10 -8
  211. akshare/stock_fundamental/stock_zyjs_ths.py +5 -3
  212. akshare/tool/trade_date_hist.py +4 -3
  213. akshare/utils/cons.py +10 -0
  214. akshare/utils/context.py +43 -0
  215. akshare/utils/demjson.py +2 -2
  216. akshare/utils/func.py +26 -0
  217. akshare/utils/tqdm.py +13 -3
  218. {akshare-1.12.95.dist-info → akshare-1.15.72.dist-info}/METADATA +52 -69
  219. akshare-1.15.72.dist-info/RECORD +385 -0
  220. {akshare-1.12.95.dist-info → akshare-1.15.72.dist-info}/WHEEL +1 -1
  221. tests/test_func.py +3 -5
  222. akshare/bond/bond_futures.py +0 -50
  223. akshare/bond/bond_investing.py +0 -139
  224. akshare/crypto/crypto_hist_investing.py +0 -249
  225. akshare/fortune/fortune_it_juzi.py +0 -123
  226. akshare/futures/futures_international.py +0 -170
  227. akshare/futures/futures_news_baidu.py +0 -54
  228. akshare/futures/inventory_data.py +0 -100
  229. akshare/futures_derivative/futures_index_price_nh.py +0 -61
  230. akshare/futures_derivative/futures_index_return_nh.py +0 -47
  231. akshare/futures_derivative/futures_index_volatility_nh.py +0 -51
  232. akshare/futures_derivative/futures_other_index_nh.py +0 -145
  233. akshare/index/index_fear_greed_funddb.py +0 -71
  234. akshare/index/index_investing.py +0 -232
  235. akshare/sport/sport_olympic_winter.py +0 -39
  236. akshare/stock_feature/stock_board_concept_ths.py +0 -422
  237. akshare/stock_fundamental/stock_register.py +0 -292
  238. akshare-1.12.95.dist-info/RECORD +0 -374
  239. {akshare-1.12.95.dist-info → akshare-1.15.72.dist-info}/LICENSE +0 -0
  240. {akshare-1.12.95.dist-info → akshare-1.15.72.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,133 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2024/7/16 22:30
5
+ Desc: 同花顺-数据中心-宏观数据-股票筹资
6
+ https://data.10jqka.com.cn/macro/finance/
7
+ """
8
+
9
+ from io import StringIO
10
+
11
+ import pandas as pd
12
+ import requests
13
+
14
+
15
+ def macro_stock_finance() -> pd.DataFrame:
16
+ """
17
+ 同花顺-数据中心-宏观数据-股票筹资
18
+ https://data.10jqka.com.cn/macro/finance/
19
+ :return: 股票筹资
20
+ :rtype: pandas.DataFrame
21
+ """
22
+ url = "https://data.10jqka.com.cn/macro/finance/"
23
+ headers = {
24
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
25
+ "(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
26
+ }
27
+ r = requests.get(url, headers=headers)
28
+ temp_df = pd.read_html(StringIO(r.text))[0]
29
+ temp_df.rename(
30
+ columns={
31
+ "月份": "月份",
32
+ "募集资金(亿元)": "募集资金",
33
+ "首发募集资金(亿元)": "首发募集资金",
34
+ "增发募集资金(亿元)": "增发募集资金",
35
+ "配股募集资金(亿元)": "配股募集资金",
36
+ },
37
+ inplace=True,
38
+ )
39
+ temp_df = temp_df[
40
+ ["月份", "募集资金", "首发募集资金", "增发募集资金", "配股募集资金"]
41
+ ]
42
+ temp_df["募集资金"] = pd.to_numeric(temp_df["募集资金"], errors="coerce")
43
+ temp_df["首发募集资金"] = pd.to_numeric(temp_df["首发募集资金"], errors="coerce")
44
+ temp_df["增发募集资金"] = pd.to_numeric(temp_df["增发募集资金"], errors="coerce")
45
+ temp_df["配股募集资金"] = pd.to_numeric(temp_df["配股募集资金"], errors="coerce")
46
+ return temp_df
47
+
48
+
49
+ def macro_rmb_loan() -> pd.DataFrame:
50
+ """
51
+ 同花顺-数据中心-宏观数据-新增人民币贷款
52
+ https://data.10jqka.com.cn/macro/loan/
53
+ :return: 新增人民币贷款
54
+ :rtype: pandas.DataFrame
55
+ """
56
+ url = "https://data.10jqka.com.cn/macro/loan/"
57
+ headers = {
58
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
59
+ "(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
60
+ }
61
+ r = requests.get(url, headers=headers)
62
+ temp_df = pd.read_html(StringIO(r.text), skiprows=0)[0]
63
+ temp_df.columns = [
64
+ "月份",
65
+ "新增人民币贷款-总额",
66
+ "新增人民币贷款-同比",
67
+ "新增人民币贷款-环比",
68
+ "累计人民币贷款-总额",
69
+ "累计人民币贷款-同比",
70
+ ]
71
+ temp_df["新增人民币贷款-总额"] = pd.to_numeric(
72
+ temp_df["新增人民币贷款-总额"], errors="coerce"
73
+ )
74
+ temp_df["累计人民币贷款-总额"] = pd.to_numeric(
75
+ temp_df["累计人民币贷款-总额"], errors="coerce"
76
+ )
77
+ return temp_df
78
+
79
+
80
+ def macro_rmb_deposit() -> pd.DataFrame:
81
+ """
82
+ 同花顺-数据中心-宏观数据-人民币存款余额
83
+ https://data.10jqka.com.cn/macro/rmb/
84
+ :return: 人民币存款余额
85
+ :rtype: pandas.DataFrame
86
+ """
87
+ url = "https://data.10jqka.com.cn/macro/rmb/"
88
+ headers = {
89
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
90
+ "(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
91
+ }
92
+ r = requests.get(url, headers=headers)
93
+ temp_df = pd.read_html(StringIO(r.text), skiprows=0)[0]
94
+ temp_df.columns = [
95
+ "月份",
96
+ "新增存款-数量",
97
+ "新增存款-同比",
98
+ "新增存款-环比",
99
+ "新增企业存款-数量",
100
+ "新增企业存款-同比",
101
+ "新增企业存款-环比",
102
+ "新增储蓄存款-数量",
103
+ "新增储蓄存款-同比",
104
+ "新增储蓄存款-环比",
105
+ "新增其他存款-数量",
106
+ "新增其他存款-同比",
107
+ "新增其他存款-环比",
108
+ ]
109
+ temp_df["新增存款-数量"] = pd.to_numeric(temp_df["新增存款-数量"], errors="coerce")
110
+ temp_df["新增企业存款-数量"] = pd.to_numeric(
111
+ temp_df["新增企业存款-数量"], errors="coerce"
112
+ )
113
+ temp_df["新增企业存款-数量"] = pd.to_numeric(
114
+ temp_df["新增企业存款-数量"], errors="coerce"
115
+ )
116
+ temp_df["新增储蓄存款-数量"] = pd.to_numeric(
117
+ temp_df["新增储蓄存款-数量"], errors="coerce"
118
+ )
119
+ temp_df["新增其他存款-数量"] = pd.to_numeric(
120
+ temp_df["新增其他存款-数量"], errors="coerce"
121
+ )
122
+ return temp_df
123
+
124
+
125
+ if __name__ == "__main__":
126
+ macro_stock_finance_df = macro_stock_finance()
127
+ print(macro_stock_finance_df)
128
+
129
+ macro_rmb_loan_df = macro_rmb_loan()
130
+ print(macro_rmb_loan_df)
131
+
132
+ macro_rmb_deposit_df = macro_rmb_deposit()
133
+ print(macro_rmb_deposit_df)
@@ -0,0 +1,100 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding:utf-8 -*-
3
+ """
4
+ Date: 2024/5/15 18:20
5
+ Desc: 华尔街见闻-日历-宏观
6
+ https://wallstreetcn.com/calendar
7
+ """
8
+
9
+ from datetime import datetime, timedelta
10
+
11
+ import numpy as np
12
+ import pandas as pd
13
+ import requests
14
+
15
+
16
+ def __convert_date_format(date: str) -> str:
17
+ """
18
+ 将日期字符串从格式'%Y%m%d'转换为格式'%Y-%m-%d %H:%M:%S'。
19
+
20
+ :param date: 日期字符串,格式为'%Y%m%d'
21
+ :return: 转换后的日期字符串,格式为'%Y-%m-%d %H:%M:%S'
22
+ """
23
+ datetime_obj = datetime.strptime(date, "%Y%m%d")
24
+ return datetime_obj.strftime("%Y-%m-%d %H:%M:%S")
25
+
26
+
27
+ def __format_date(date: str) -> int:
28
+ """
29
+ 将日期字符串转换为Unix时间戳。
30
+
31
+ :param date: 日期字符串,格式为'%Y-%m-%d %H:%M:%S'
32
+ :return: Unix时间戳
33
+ """
34
+ datetime_obj = datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
35
+ return int(datetime_obj.timestamp())
36
+
37
+
38
+ def macro_info_ws(date: str = "20240514") -> pd.DataFrame:
39
+ """
40
+ 华尔街见闻-日历-宏观
41
+ https://wallstreetcn.com/calendar
42
+ :param date: 日期
43
+ :type date: str
44
+ :return: 日历-宏观
45
+ :rtype: pandas.DataFrame
46
+ """
47
+ date = __convert_date_format(date)
48
+ url = "https://api-one-wscn.awtmt.com/apiv1/finance/macrodatas"
49
+ datetime_obj = datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
50
+ one_day = timedelta(days=1)
51
+ new_datetime = datetime_obj + one_day
52
+ date_str = new_datetime.strftime("%Y-%m-%d %H:%M:%S")
53
+ params = {"start": __format_date(date), "end": __format_date(date_str)}
54
+ r = requests.get(url, params=params)
55
+ data_json = r.json()
56
+ temp_df = pd.DataFrame(data_json["data"]["items"])
57
+ temp_df["public_date"] = pd.to_datetime(
58
+ temp_df["public_date"], errors="coerce", unit="s", utc=True
59
+ ).dt.tz_convert("Asia/Shanghai")
60
+ temp_df["public_date"] = temp_df["public_date"].dt.strftime("%Y-%m-%d %H:%M:%S")
61
+ temp_df = temp_df.rename(
62
+ columns={
63
+ "public_date": "时间",
64
+ "country": "地区",
65
+ "title": "事件",
66
+ "importance": "重要性",
67
+ "actual": "今值",
68
+ "forecast": "预期",
69
+ "previous": "前值",
70
+ "revised": "修正",
71
+ "uri": "链接",
72
+ }
73
+ )
74
+ temp_df = temp_df[
75
+ [
76
+ "时间",
77
+ "地区",
78
+ "事件",
79
+ "重要性",
80
+ "今值",
81
+ "预期",
82
+ "前值",
83
+ "修正",
84
+ "链接",
85
+ ]
86
+ ]
87
+ temp_df["今值"] = pd.to_numeric(temp_df["今值"], errors="coerce")
88
+ temp_df["预期"] = pd.to_numeric(temp_df["预期"], errors="coerce")
89
+ temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
90
+ temp_df["修正"] = pd.to_numeric(temp_df["修正"], errors="coerce")
91
+ temp_df["前值"] = np.where(
92
+ temp_df["修正"].notnull(), temp_df["修正"], temp_df["前值"]
93
+ )
94
+ del temp_df["修正"]
95
+ return temp_df
96
+
97
+
98
+ if __name__ == "__main__":
99
+ macro_info_ws_df = macro_info_ws(date="20240514")
100
+ print(macro_info_ws_df)
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2022/11/9 15:14
4
+ Date: 2024/4/3 16:00
5
5
  Desc: 东方财富-经济数据-日本
6
6
  https://data.eastmoney.com/cjsj/foreign_3_0.html
7
7
  """
8
+
8
9
  import pandas as pd
9
10
  import requests
10
11
 
@@ -59,9 +60,9 @@ def macro_japan_core(symbol: str = "EMG00341602") -> pd.DataFrame:
59
60
  "发布日期",
60
61
  ]
61
62
  ]
62
- temp_df["前值"] = pd.to_numeric(temp_df["前值"])
63
- temp_df["现值"] = pd.to_numeric(temp_df["现值"])
64
- temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"]).dt.date
63
+ temp_df["前值"] = pd.to_numeric(temp_df["前值"], errors="coerce")
64
+ temp_df["现值"] = pd.to_numeric(temp_df["现值"], errors="coerce")
65
+ temp_df["发布日期"] = pd.to_datetime(temp_df["发布日期"], errors="coerce").dt.date
65
66
  temp_df.sort_values(["发布日期"], inplace=True, ignore_index=True)
66
67
  return temp_df
67
68
 
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding:utf-8 -*-
3
3
  """
4
- Date: 2023/7/4 16:36
4
+ Date: 2024/4/3 16:36
5
5
  Desc: 金十数据-其他-加密货币实时行情
6
6
  """
7
+
7
8
  import time
8
9
  from datetime import datetime
9
10
 
@@ -22,7 +23,8 @@ def crypto_js_spot() -> pd.DataFrame:
22
23
  "_": "1672141224307",
23
24
  }
24
25
  headers = {
25
- "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
26
+ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
27
+ "Chrome/107.0.0.0 Safari/537.36",
26
28
  "x-app-id": "rU6QIu7JHe2gOUeR",
27
29
  "x-csrf-token": "x-csrf-token",
28
30
  "x-version": "1.0.0",
@@ -42,12 +44,12 @@ def crypto_js_spot() -> pd.DataFrame:
42
44
  "24小时成交量",
43
45
  "更新时间",
44
46
  ]
45
- data_df["最近报价"] = pd.to_numeric(data_df["最近报价"])
46
- data_df["涨跌额"] = pd.to_numeric(data_df["涨跌额"])
47
- data_df["涨跌幅"] = pd.to_numeric(data_df["涨跌幅"])
48
- data_df["24小时最高"] = pd.to_numeric(data_df["24小时最高"])
49
- data_df["24小时最低"] = pd.to_numeric(data_df["24小时最低"])
50
- data_df["24小时成交量"] = pd.to_numeric(data_df["24小时成交量"])
47
+ data_df["最近报价"] = pd.to_numeric(data_df["最近报价"], errors="coerce")
48
+ data_df["涨跌额"] = pd.to_numeric(data_df["涨跌额"], errors="coerce")
49
+ data_df["涨跌幅"] = pd.to_numeric(data_df["涨跌幅"], errors="coerce")
50
+ data_df["24小时最高"] = pd.to_numeric(data_df["24小时最高"], errors="coerce")
51
+ data_df["24小时最低"] = pd.to_numeric(data_df["24小时最低"], errors="coerce")
52
+ data_df["24小时成交量"] = pd.to_numeric(data_df["24小时成交量"], errors="coerce")
51
53
  data_df["更新时间"] = data_df["更新时间"].astype(str)
52
54
  return data_df
53
55
 
@@ -89,7 +91,8 @@ def macro_fx_sentiment(
89
91
  "referer": "https://datacenter.jin10.com/reportType/dc_ssi_trends",
90
92
  "sec-fetch-mode": "cors",
91
93
  "sec-fetch-site": "same-site",
92
- "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36",
94
+ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
95
+ "Chrome/79.0.3945.130 Safari/537.36",
93
96
  "x-app-id": "rU6QIu7JHe2gOUeR",
94
97
  "x-csrf-token": "",
95
98
  "x-version": "1.0.0",