akshare 1.12.99__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 (236) hide show
  1. akshare/__init__.py +441 -138
  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_info_cm.py +28 -8
  10. akshare/bond/bond_issue_cninfo.py +73 -30
  11. akshare/bond/bond_zh_cov.py +1 -1
  12. akshare/bond/bond_zh_sina.py +57 -51
  13. akshare/cal/__init__.py +0 -0
  14. akshare/cal/rv.py +170 -0
  15. akshare/cost/cost_living.py +7 -5
  16. akshare/currency/currency_safe.py +7 -6
  17. akshare/data/cninfo.js +15 -0
  18. akshare/datasets.py +10 -21
  19. akshare/economic/macro_bank.py +95 -653
  20. akshare/economic/macro_china.py +772 -1024
  21. akshare/economic/macro_china_hk.py +65 -243
  22. akshare/economic/macro_china_nbs.py +24 -7
  23. akshare/economic/macro_constitute.py +17 -12
  24. akshare/economic/macro_euro.py +13 -6
  25. akshare/economic/macro_finance_ths.py +133 -0
  26. akshare/economic/macro_info_ws.py +100 -0
  27. akshare/economic/macro_japan.py +5 -4
  28. akshare/economic/macro_other.py +12 -9
  29. akshare/economic/macro_usa.py +376 -1940
  30. akshare/economic/marco_cnbs.py +11 -6
  31. akshare/energy/energy_carbon.py +94 -125
  32. akshare/event/migration.py +3 -2
  33. akshare/exceptions.py +43 -0
  34. akshare/file_fold/calendar.json +245 -2
  35. akshare/fortune/fortune_500.py +15 -48
  36. akshare/fund/fund_amac.py +157 -75
  37. akshare/fund/fund_em.py +191 -184
  38. akshare/fund/fund_etf_em.py +16 -15
  39. akshare/fund/fund_etf_sina.py +71 -23
  40. akshare/fund/fund_etf_ths.py +93 -0
  41. akshare/fund/fund_fee_em.py +98 -0
  42. akshare/fund/fund_portfolio_em.py +60 -50
  43. akshare/fund/fund_rank_em.py +91 -82
  44. akshare/fund/fund_report_cninfo.py +63 -48
  45. akshare/fund/fund_scale_sina.py +20 -10
  46. akshare/fund/fund_xq.py +139 -109
  47. akshare/futures/cons.py +8 -31
  48. akshare/futures/cot.py +185 -137
  49. akshare/futures/futures_basis.py +97 -32
  50. akshare/futures/futures_comm_ctp.py +37 -0
  51. akshare/futures/futures_comm_qihuo.py +74 -45
  52. akshare/futures/futures_daily_bar.py +121 -184
  53. akshare/futures/futures_hf_em.py +66 -61
  54. akshare/futures/futures_hq_sina.py +79 -61
  55. akshare/futures/futures_index_ccidx.py +6 -3
  56. akshare/futures/futures_inventory_99.py +61 -272
  57. akshare/futures/futures_news_shmet.py +4 -2
  58. akshare/futures/futures_roll_yield.py +12 -25
  59. akshare/futures/futures_spot_stock_em.py +19 -13
  60. akshare/futures/futures_stock_js.py +14 -12
  61. akshare/futures/futures_to_spot.py +38 -33
  62. akshare/futures/futures_warehouse_receipt.py +75 -71
  63. akshare/futures/futures_zh_sina.py +5 -5
  64. akshare/futures/symbol_var.py +18 -13
  65. akshare/futures_derivative/futures_contract_info_czce.py +60 -52
  66. akshare/futures_derivative/futures_contract_info_ine.py +43 -34
  67. akshare/futures_derivative/futures_contract_info_shfe.py +46 -35
  68. akshare/futures_derivative/futures_cot_sina.py +26 -19
  69. akshare/futures_derivative/futures_spot_sys.py +21 -8
  70. akshare/fx/currency_investing.py +19 -285
  71. akshare/index/index_cflp.py +29 -26
  72. akshare/index/index_cni.py +86 -88
  73. akshare/index/index_cons.py +26 -10
  74. akshare/index/index_cx.py +248 -47
  75. akshare/index/index_drewry.py +17 -16
  76. akshare/index/index_option_qvix.py +329 -0
  77. akshare/index/index_research_fund_sw.py +134 -0
  78. akshare/index/{index_sw_research.py → index_research_sw.py} +122 -58
  79. akshare/index/index_spot.py +9 -5
  80. akshare/index/index_stock_hk.py +35 -16
  81. akshare/index/index_stock_us_sina.py +1 -1
  82. akshare/index/index_stock_zh.py +180 -89
  83. akshare/index/index_stock_zh_csindex.py +15 -369
  84. akshare/index/index_sw.py +62 -34
  85. akshare/index/index_yw.py +46 -23
  86. akshare/index/index_zh_a_scope.py +48 -0
  87. akshare/index/index_zh_em.py +6 -4
  88. akshare/interest_rate/interbank_rate_em.py +14 -9
  89. akshare/movie/artist_yien.py +32 -5
  90. akshare/movie/movie_yien.py +92 -18
  91. akshare/movie/video_yien.py +28 -5
  92. akshare/news/news_baidu.py +78 -44
  93. akshare/news/news_cctv.py +38 -38
  94. akshare/news/news_stock.py +6 -3
  95. akshare/nlp/nlp_interface.py +7 -8
  96. akshare/option/cons.py +11 -11
  97. akshare/option/option_comm_qihuo.py +86 -0
  98. akshare/option/option_commodity.py +178 -51
  99. akshare/option/option_daily_stats_sse_szse.py +146 -0
  100. akshare/option/option_em.py +147 -138
  101. akshare/option/option_finance_sina.py +160 -137
  102. akshare/option/option_lhb_em.py +62 -56
  103. akshare/option/option_risk_indicator_sse.py +17 -14
  104. akshare/other/other_car_cpca.py +934 -0
  105. akshare/other/{other_car.py → other_car_gasgoo.py} +15 -54
  106. akshare/qdii/__init__.py +0 -0
  107. akshare/qdii/qdii_jsl.py +233 -0
  108. akshare/request.py +117 -0
  109. akshare/spot/spot_hog_soozhu.py +232 -0
  110. akshare/spot/spot_price_qh.py +121 -0
  111. akshare/spot/spot_sge.py +63 -10
  112. akshare/stock/stock_allotment_cninfo.py +10 -9
  113. akshare/stock/stock_board_concept_em.py +23 -14
  114. akshare/stock/stock_board_industry_em.py +40 -34
  115. akshare/stock/stock_cg_equity_mortgage.py +15 -11
  116. akshare/stock/stock_cg_guarantee.py +41 -51
  117. akshare/stock/stock_cg_lawsuit.py +36 -35
  118. akshare/stock/stock_dividend_cninfo.py +12 -6
  119. akshare/stock/stock_dzjy_em.py +347 -260
  120. akshare/stock/stock_fund_em.py +332 -84
  121. akshare/stock/stock_hk_famous.py +108 -0
  122. akshare/stock/stock_hk_sina.py +8 -7
  123. akshare/stock/stock_hold_control_cninfo.py +100 -15
  124. akshare/stock/stock_hold_control_em.py +4 -3
  125. akshare/stock/stock_hold_num_cninfo.py +18 -12
  126. akshare/stock/stock_hot_rank_em.py +2 -1
  127. akshare/stock/stock_hot_search_baidu.py +5 -2
  128. akshare/stock/stock_industry_cninfo.py +24 -18
  129. akshare/stock/stock_industry_pe_cninfo.py +45 -31
  130. akshare/stock/stock_industry_sw.py +9 -10
  131. akshare/stock/stock_info.py +25 -15
  132. akshare/stock/stock_info_em.py +5 -2
  133. akshare/stock/stock_intraday_em.py +5 -2
  134. akshare/stock/stock_intraday_sina.py +22 -18
  135. akshare/stock/stock_ipo_summary_cninfo.py +25 -10
  136. akshare/stock/stock_new_cninfo.py +32 -19
  137. akshare/stock/stock_news_cx.py +39 -0
  138. akshare/stock/stock_profile_cninfo.py +9 -8
  139. akshare/stock/stock_rank_forecast.py +8 -6
  140. akshare/stock/stock_share_changes_cninfo.py +18 -14
  141. akshare/stock/stock_share_hold.py +24 -19
  142. akshare/stock/stock_summary.py +54 -26
  143. akshare/stock/stock_us_famous.py +15 -6
  144. akshare/stock/stock_us_pink.py +7 -5
  145. akshare/stock/stock_us_sina.py +15 -12
  146. akshare/stock/stock_xq.py +38 -12
  147. akshare/stock/stock_zh_a_sina.py +53 -78
  148. akshare/stock/stock_zh_b_sina.py +32 -55
  149. akshare/stock/stock_zh_kcb_report.py +11 -9
  150. akshare/stock/stock_zh_kcb_sina.py +67 -64
  151. akshare/stock_feature/stock_a_below_net_asset_statistics.py +5 -2
  152. akshare/stock_feature/stock_a_high_low.py +5 -2
  153. akshare/stock_feature/stock_a_indicator.py +12 -9
  154. akshare/stock_feature/stock_a_pe_and_pb.py +27 -6
  155. akshare/stock_feature/stock_account_em.py +58 -40
  156. akshare/stock_feature/stock_analyst_em.py +36 -27
  157. akshare/stock_feature/stock_board_industry_ths.py +136 -400
  158. akshare/stock_feature/stock_comment_em.py +118 -85
  159. akshare/stock_feature/stock_concept_futu.py +183 -0
  160. akshare/stock_feature/stock_cyq_em.py +58 -54
  161. akshare/stock_feature/stock_disclosure_cninfo.py +147 -102
  162. akshare/stock_feature/stock_esg_sina.py +216 -11
  163. akshare/stock_feature/stock_fhps_em.py +60 -25
  164. akshare/stock_feature/stock_fhps_ths.py +25 -6
  165. akshare/stock_feature/stock_fund_flow.py +38 -25
  166. akshare/stock_feature/stock_gdfx_em.py +180 -95
  167. akshare/stock_feature/stock_gdhs.py +73 -49
  168. akshare/stock_feature/stock_gpzy_em.py +78 -46
  169. akshare/stock_feature/stock_hist_em.py +55 -23
  170. akshare/stock_feature/stock_hk_valuation_baidu.py +20 -8
  171. akshare/stock_feature/stock_hsgt_em.py +184 -452
  172. akshare/stock_feature/stock_info.py +52 -29
  173. akshare/stock_feature/stock_inner_trade_xq.py +39 -31
  174. akshare/stock_feature/stock_irm_cninfo.py +32 -9
  175. akshare/stock_feature/stock_jgdy_em.py +41 -38
  176. akshare/stock_feature/stock_lh_yybpm.py +36 -37
  177. akshare/stock_feature/stock_lhb_em.py +135 -71
  178. akshare/stock_feature/stock_lhb_sina.py +93 -46
  179. akshare/stock_feature/stock_margin_em.py +102 -0
  180. akshare/stock_feature/{stock_sse_margin.py → stock_margin_sse.py} +21 -15
  181. akshare/stock_feature/{stock_szse_margin.py → stock_margin_szse.py} +23 -19
  182. akshare/stock_feature/stock_market_legu.py +13 -8
  183. akshare/stock_feature/stock_pankou_em.py +72 -34
  184. akshare/stock_feature/stock_report_em.py +244 -54
  185. akshare/stock_feature/stock_research_report_em.py +48 -19
  186. akshare/stock_feature/stock_sns_sseinfo.py +15 -12
  187. akshare/stock_feature/stock_sy_em.py +86 -33
  188. akshare/stock_feature/stock_technology_ths.py +152 -120
  189. akshare/stock_feature/stock_tfp_em.py +35 -13
  190. akshare/stock_feature/stock_three_report_em.py +119 -77
  191. akshare/stock_feature/stock_ttm_lyr.py +4 -7
  192. akshare/stock_feature/stock_value_em.py +83 -0
  193. akshare/stock_feature/stock_wencai.py +21 -9
  194. akshare/stock_feature/stock_yjyg_em.py +63 -28
  195. akshare/stock_feature/stock_zf_pg.py +61 -38
  196. akshare/stock_feature/stock_zh_valuation_baidu.py +3 -2
  197. akshare/stock_feature/stock_ztb_em.py +62 -40
  198. akshare/stock_fundamental/stock_finance.py +150 -58
  199. akshare/stock_fundamental/stock_finance_ths.py +116 -31
  200. akshare/stock_fundamental/stock_mda_ym.py +5 -3
  201. akshare/stock_fundamental/stock_notice.py +29 -15
  202. akshare/stock_fundamental/stock_profit_forecast_em.py +31 -13
  203. akshare/stock_fundamental/stock_profit_forecast_ths.py +19 -10
  204. akshare/stock_fundamental/stock_register_em.py +448 -0
  205. akshare/stock_fundamental/stock_restricted_em.py +79 -32
  206. akshare/stock_fundamental/stock_zygc.py +10 -8
  207. akshare/stock_fundamental/stock_zyjs_ths.py +5 -3
  208. akshare/tool/trade_date_hist.py +4 -3
  209. akshare/utils/cons.py +10 -0
  210. akshare/utils/context.py +43 -0
  211. akshare/utils/demjson.py +2 -2
  212. akshare/utils/func.py +26 -0
  213. akshare/utils/tqdm.py +13 -3
  214. {akshare-1.12.99.dist-info → akshare-1.15.72.dist-info}/METADATA +52 -69
  215. akshare-1.15.72.dist-info/RECORD +385 -0
  216. {akshare-1.12.99.dist-info → akshare-1.15.72.dist-info}/WHEEL +1 -1
  217. tests/test_func.py +3 -5
  218. akshare/bond/bond_futures.py +0 -50
  219. akshare/bond/bond_investing.py +0 -139
  220. akshare/crypto/crypto_hist_investing.py +0 -249
  221. akshare/fortune/fortune_it_juzi.py +0 -123
  222. akshare/futures/futures_international.py +0 -170
  223. akshare/futures/futures_news_baidu.py +0 -54
  224. akshare/futures/inventory_data.py +0 -100
  225. akshare/futures_derivative/futures_index_price_nh.py +0 -61
  226. akshare/futures_derivative/futures_index_return_nh.py +0 -47
  227. akshare/futures_derivative/futures_index_volatility_nh.py +0 -51
  228. akshare/futures_derivative/futures_other_index_nh.py +0 -145
  229. akshare/index/index_fear_greed_funddb.py +0 -71
  230. akshare/index/index_investing.py +0 -232
  231. akshare/sport/sport_olympic_winter.py +0 -39
  232. akshare/stock_feature/stock_board_concept_ths.py +0 -422
  233. akshare/stock_fundamental/stock_register.py +0 -292
  234. akshare-1.12.99.dist-info/RECORD +0 -374
  235. {akshare-1.12.99.dist-info → akshare-1.15.72.dist-info}/LICENSE +0 -0
  236. {akshare-1.12.99.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",