|
@@ -5,6 +5,8 @@ import pandas as pd
|
|
|
from com.zf.crawl import base_country_code
|
|
|
from com.zf.crawl import base_mysql
|
|
|
|
|
|
+from utils.base_country_code import format_sql_value
|
|
|
+
|
|
|
# 排除地区名单
|
|
|
EXCLUDE_REGIONS = ["亚洲", "非洲", "欧洲", "拉丁美洲", "北美洲", "大洋洲", "南极洲",
|
|
|
"东南亚国家联盟", "欧洲联盟", "亚太经济合作组织",
|
|
@@ -41,9 +43,6 @@ def process_folder(path):
|
|
|
col_total_index, col_monthly_export_index, col_monthly_import_index = 3, 7, 11
|
|
|
|
|
|
for index, row in df.iterrows():
|
|
|
- # if index < 4:
|
|
|
- # continue
|
|
|
-
|
|
|
# 提取国家名称并去除括号内容
|
|
|
country_name = str(row.values[country_name_index]).strip()
|
|
|
if country_name.endswith(")") or country_name.endswith(")"):
|
|
@@ -72,7 +71,7 @@ def process_folder(path):
|
|
|
yoy_import_export, yoy_import, yoy_export = 0, 0, 0
|
|
|
sql = (f"INSERT INTO t_yujin_crossborder_prov_country_trade "
|
|
|
f"(crossborder_year, crossborder_year_month, prov_code, prov_name, country_code, country_name, monthly_total, monthly_export, monthly_import,yoy_import_export, yoy_import, yoy_export, create_time) VALUES "
|
|
|
- f"('{year}', '{year_month_2}', '340000', '安徽省', '{country_code}', '{country_name}', '{monthly_total}', '{monthly_export}', '{monthly_import}', '{yoy_import_export}', '{yoy_import}', '{yoy_export}', now());\n")
|
|
|
+ f"('{year}', '{year_month_2}', '340000', '安徽省', '{country_code}', '{country_name}', {format_sql_value(monthly_total)}, {format_sql_value(monthly_export)}, {format_sql_value(monthly_import)}, '{yoy_import_export}', '{yoy_import}', '{yoy_export}', now());\n")
|
|
|
sql_arr_copy.append(sql)
|
|
|
|
|
|
# 构建 SQL
|
|
@@ -81,15 +80,12 @@ def process_folder(path):
|
|
|
f"(crossborder_year, crossborder_year_month, prov_code, prov_name, country_code, country_name, "
|
|
|
f"monthly_total, monthly_export, monthly_import, yoy_import_export, yoy_import, yoy_export, create_time) "
|
|
|
f"VALUES ('{year}', '{year_month}', '340000', '安徽省', '{country_code}', '{country_name}', "
|
|
|
- f"'{monthly_total}', '{monthly_export}', '{monthly_import}', '{yoy_import_export}', '{yoy_import}', "
|
|
|
+ f"{format_sql_value(monthly_total)}, {format_sql_value(monthly_export)}, {format_sql_value(monthly_import)}, '{yoy_import_export}', '{yoy_import}', "
|
|
|
f"'{yoy_export}', NOW());"
|
|
|
)
|
|
|
sql_arr.append(sql)
|
|
|
- # except Exception as e:
|
|
|
- # print(f"{year_month} 处理时发生异常: {str(e)}")
|
|
|
|
|
|
print(f"√ {year_month} 成功生成 SQL 条数: {len(sql_arr)}")
|
|
|
-
|
|
|
# 批量插入数据库
|
|
|
base_mysql.bulk_insert(sql_arr)
|
|
|
if month == 2:
|