248 lines
7.7 KiB
Plaintext
248 lines
7.7 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"id": "initial_id",
|
||
"metadata": {
|
||
"collapsed": true,
|
||
"ExecuteTime": {
|
||
"end_time": "2025-01-09T06:12:53.680561Z",
|
||
"start_time": "2025-01-09T06:12:52.994179Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"import tushare as ts\n",
|
||
"\n",
|
||
"ts_pro = ts.pro_api(token=\"64ebff4fa679167600b905ee45dd88e76f3963c0ff39157f3f085f0e\")"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 2
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2025-01-09T06:28:32.524630Z",
|
||
"start_time": "2025-01-09T06:27:15.688831Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# 从1989年开始循环年份\n",
|
||
"for year in range(2000, 2024):\n",
|
||
" # ts_pro.balancesheet_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/资产负债表/{year}.csv\")\n",
|
||
" # ts_pro.cashflow_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/现金流量表/{year}.csv\")\n",
|
||
" # ts_pro.income_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/利润表/{year}.csv\")\n",
|
||
" ts_pro.fina_indicator_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/财务指标/{year}.csv\")\n",
|
||
" # ts_pro.fina_audit(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/审计意见/{year}.csv\")"
|
||
],
|
||
"id": "b03b118c70b21315",
|
||
"outputs": [],
|
||
"execution_count": 15
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2025-01-09T06:21:41.656501Z",
|
||
"start_time": "2025-01-09T06:21:41.620154Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"df = pd.read_csv('../temp/财务报表/利润表/2000.csv')\n",
|
||
"# 移除第一列\n",
|
||
"df = df.iloc[:, 1:]\n",
|
||
"df.set_index('ts_code', inplace=True)\n",
|
||
"df = df[[\"total_revenue\", \"revenue\", \"total_cogs\",\"oper_exp\",\"rd_exp\"]]\n",
|
||
"df"
|
||
],
|
||
"id": "7e3783e99491ba52",
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
" total_revenue revenue total_cogs oper_exp rd_exp\n",
|
||
"ts_code \n",
|
||
"688183.SH 6.282300e+08 6.282300e+08 NaN NaN NaN\n",
|
||
"601939.SH 5.349400e+10 5.349400e+10 4.329800e+10 4.329800e+10 NaN\n",
|
||
"600074.SH 4.957749e+08 4.957749e+08 4.287281e+08 NaN NaN\n",
|
||
"600699.SH 2.276245e+08 2.276245e+08 1.765832e+08 NaN NaN\n",
|
||
"600779.SH 1.280558e+09 1.280558e+09 1.080933e+09 NaN NaN\n",
|
||
"... ... ... ... ... ...\n",
|
||
"600438.SH 3.533686e+08 3.533686e+08 3.194762e+08 NaN NaN\n",
|
||
"600493.SH 1.421895e+08 1.421895e+08 1.250877e+08 NaN NaN\n",
|
||
"600572.SH 1.944064e+08 1.944064e+08 1.459411e+08 NaN NaN\n",
|
||
"600986.SH 2.563444e+08 2.563444e+08 2.089118e+08 NaN NaN\n",
|
||
"600982.SH 8.646501e+07 8.646501e+07 6.824224e+07 NaN NaN\n",
|
||
"\n",
|
||
"[1264 rows x 5 columns]"
|
||
],
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>total_revenue</th>\n",
|
||
" <th>revenue</th>\n",
|
||
" <th>total_cogs</th>\n",
|
||
" <th>oper_exp</th>\n",
|
||
" <th>rd_exp</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ts_code</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>688183.SH</th>\n",
|
||
" <td>6.282300e+08</td>\n",
|
||
" <td>6.282300e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>601939.SH</th>\n",
|
||
" <td>5.349400e+10</td>\n",
|
||
" <td>5.349400e+10</td>\n",
|
||
" <td>4.329800e+10</td>\n",
|
||
" <td>4.329800e+10</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600074.SH</th>\n",
|
||
" <td>4.957749e+08</td>\n",
|
||
" <td>4.957749e+08</td>\n",
|
||
" <td>4.287281e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600699.SH</th>\n",
|
||
" <td>2.276245e+08</td>\n",
|
||
" <td>2.276245e+08</td>\n",
|
||
" <td>1.765832e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600779.SH</th>\n",
|
||
" <td>1.280558e+09</td>\n",
|
||
" <td>1.280558e+09</td>\n",
|
||
" <td>1.080933e+09</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600438.SH</th>\n",
|
||
" <td>3.533686e+08</td>\n",
|
||
" <td>3.533686e+08</td>\n",
|
||
" <td>3.194762e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600493.SH</th>\n",
|
||
" <td>1.421895e+08</td>\n",
|
||
" <td>1.421895e+08</td>\n",
|
||
" <td>1.250877e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600572.SH</th>\n",
|
||
" <td>1.944064e+08</td>\n",
|
||
" <td>1.944064e+08</td>\n",
|
||
" <td>1.459411e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600986.SH</th>\n",
|
||
" <td>2.563444e+08</td>\n",
|
||
" <td>2.563444e+08</td>\n",
|
||
" <td>2.089118e+08</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>600982.SH</th>\n",
|
||
" <td>8.646501e+07</td>\n",
|
||
" <td>8.646501e+07</td>\n",
|
||
" <td>6.824224e+07</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>1264 rows × 5 columns</p>\n",
|
||
"</div>"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"execution_count": 12
|
||
},
|
||
{
|
||
"metadata": {},
|
||
"cell_type": "code",
|
||
"outputs": [],
|
||
"execution_count": null,
|
||
"source": "",
|
||
"id": "575590399bf15e70"
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 2
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython2",
|
||
"version": "2.7.6"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|