75 lines
2.3 KiB
Python
75 lines
2.3 KiB
Python
from datetime import datetime, timezone
|
|
import os
|
|
import csv
|
|
|
|
# 设置路径参数
|
|
base_dir = r'C:\Users\Administrator\Desktop\European Local O&M'
|
|
result_dir = os.path.join(base_dir, 'italy_result')
|
|
os.makedirs(result_dir, exist_ok=True) # 自动创建目录
|
|
|
|
# 获取日期
|
|
current_date = datetime.now().strftime("%m%d")
|
|
|
|
# 加载激活状态数据
|
|
active_file = os.path.join(base_dir, f'all-active-{current_date}.csv.csv') # 确保文件名正确
|
|
active_status = {}
|
|
|
|
with open(active_file, encoding='utf-8') as f:
|
|
csv_reader = csv.reader(f)
|
|
next(csv_reader)
|
|
for row in csv_reader:
|
|
vin = row[0].strip().upper()
|
|
status = row[1].strip().lower()
|
|
active_status[vin] = 'active' if status == 'active' else 'NO'
|
|
|
|
# 加载需要核实的VIN列表
|
|
vin_list = []
|
|
with open(os.path.join(base_dir, 'eu516.csv'), 'r', encoding='utf-8') as f:
|
|
csv_reader = csv.reader(f)
|
|
next(csv_reader)
|
|
for row in csv_reader:
|
|
vin_list.append(row[0].strip().upper())
|
|
|
|
# 输出文件路径
|
|
output_all = os.path.join(result_dir, f'italy-result{current_date}.csv')
|
|
output_no = os.path.join(result_dir, f'no-italy-result{current_date}.csv')
|
|
|
|
# 写入意大利所有VIN的状态
|
|
with open(output_all, 'w', newline='', encoding='utf-8') as f:
|
|
csv_writer = csv.writer(f)
|
|
csv_writer.writerow(['VIN', 'active-status'])
|
|
for vin in vin_list:
|
|
status = active_status.get(vin, 'NO')
|
|
csv_writer.writerow([vin, status])
|
|
|
|
# 统计信息并生成未激活车辆清单
|
|
activated_count = 0
|
|
deactivated_count = 0
|
|
|
|
# 当前UTC时间
|
|
current_utc = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S UTC")
|
|
|
|
with open(output_all, encoding='utf-8') as f_in, \
|
|
open(output_no, 'w', newline='', encoding='utf-8') as f_out:
|
|
|
|
reader = csv.DictReader(f_in)
|
|
writer = csv.DictWriter(f_out, fieldnames=reader.fieldnames)
|
|
writer.writeheader()
|
|
|
|
for row in reader:
|
|
status = row['active-status'].strip().lower()
|
|
if status == 'active':
|
|
activated_count += 1
|
|
elif status == 'no':
|
|
deactivated_count += 1
|
|
writer.writerow(row)
|
|
|
|
# 控制台输出统计信息
|
|
print(f'''
|
|
统计时间:{current_utc}
|
|
激活车辆数:{activated_count}
|
|
未激活车辆数:{deactivated_count}
|
|
|
|
📁 所有结果已保存至:{result_dir}
|
|
''')
|