86 lines
2.3 KiB
Python
86 lines
2.3 KiB
Python
|
|
# -*- coding: utf-8 -*-
|
||
|
|
"""
|
||
|
|
上传最后8条数据到简道云
|
||
|
|
"""
|
||
|
|
import logging
|
||
|
|
import sys
|
||
|
|
import os
|
||
|
|
import csv
|
||
|
|
|
||
|
|
# 添加当前目录到模块搜索路径
|
||
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||
|
|
|
||
|
|
# 导入配置和处理器
|
||
|
|
from config import REGION_CONFIGS, PROCESSING_CONFIG
|
||
|
|
from processors import ProcessingPipeline
|
||
|
|
|
||
|
|
# 配置日志
|
||
|
|
logging.basicConfig(
|
||
|
|
level=logging.INFO,
|
||
|
|
format='%(asctime)s - %(levelname)s - %(message)s'
|
||
|
|
)
|
||
|
|
logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
# 最新的CSV文件路径
|
||
|
|
CSV_FILE = "data/浙江省公共资源交易中心_20260213_161312.csv"
|
||
|
|
|
||
|
|
def read_csv_data(file_path):
|
||
|
|
"""读取CSV文件数据"""
|
||
|
|
data = []
|
||
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
||
|
|
reader = csv.DictReader(f)
|
||
|
|
for row in reader:
|
||
|
|
data.append(row)
|
||
|
|
return data
|
||
|
|
|
||
|
|
def main():
|
||
|
|
"""主函数"""
|
||
|
|
logger.info("开始处理并上传最后8条数据")
|
||
|
|
|
||
|
|
# 1. 读取CSV数据
|
||
|
|
if not os.path.exists(CSV_FILE):
|
||
|
|
logger.error(f"CSV文件不存在: {CSV_FILE}")
|
||
|
|
return
|
||
|
|
|
||
|
|
data = read_csv_data(CSV_FILE)
|
||
|
|
logger.info(f"读取完成,共 {len(data)} 条数据")
|
||
|
|
|
||
|
|
if len(data) == 0:
|
||
|
|
logger.error("无数据可处理")
|
||
|
|
return
|
||
|
|
|
||
|
|
# 2. 取最后8条数据
|
||
|
|
logger.info("\n2. 选择数据:")
|
||
|
|
if len(data) >= 8:
|
||
|
|
selected_data = data[-8:]
|
||
|
|
else:
|
||
|
|
selected_data = data
|
||
|
|
|
||
|
|
logger.info(f"选择了最后 {len(selected_data)} 条数据")
|
||
|
|
|
||
|
|
# 3. 处理数据
|
||
|
|
logger.info("\n3. 处理数据:")
|
||
|
|
pipeline = ProcessingPipeline()
|
||
|
|
|
||
|
|
processed = pipeline.process_results(
|
||
|
|
selected_data,
|
||
|
|
site="zhejiang",
|
||
|
|
notice_type="招标文件公示",
|
||
|
|
upload=True # 上传到简道云
|
||
|
|
)
|
||
|
|
|
||
|
|
# 4. 展示结果
|
||
|
|
logger.info("\n4. 处理结果:")
|
||
|
|
logger.info(f"成功处理 {len(processed)} 条数据")
|
||
|
|
|
||
|
|
# 展示前3条的关键信息
|
||
|
|
logger.info("\n前3条数据关键信息:")
|
||
|
|
for i, record in enumerate(processed[:3], 1):
|
||
|
|
logger.info(f"\n测试 {i}")
|
||
|
|
logger.info(f"项目名称: {record.get('项目名称', '文档未提及')}")
|
||
|
|
logger.info(f"项目批准文号: {record.get('项目批准文号', '文档未提及')}")
|
||
|
|
logger.info(f"批准文号: {record.get('批准文号', '文档未提及')}")
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
main()
|