You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python根据文件名日期匹配CSV对应Count值作为networkx标签问题

实现方案

这个需求完全可以实现,核心是先把CSV的日期和Count映射关系做成查询字典,再批量解析每个文件名的日期后匹配即可,具体操作如下:

步骤1:预处理参考CSV生成映射字典

先读取存储日期和Count的CSV文件,统一日期格式后生成日期:Count的查询字典,避免后续重复遍历匹配:

import pandas as pd
import os
import glob

# 读取参考CSV,注意指定日期格式为日/月/年,避免pandas解析错误
ref_df = pd.read_csv('你的参考CSV文件路径.csv')
ref_df['Date'] = pd.to_datetime(ref_df['Date'], format='%d/%m/%Y')
# 转为字典,key是datetime格式的日期,value是对应Count
date_count_map = dict(zip(ref_df['Date'], ref_df['Count']))

步骤2:批量解析文件名日期并匹配Count

不推荐用固定切片取日期,容易因为路径长度变化出错,改用字符串分割的方式提取更稳定:

path = r'你的Graphs文件夹路径' 
csv_files = glob.glob(os.path.join(path, "*.csv"))

dataframes = []
labels = []

for csv_file in csv_files:
    # 读取文件存入列表
    df = pd.read_csv(csv_file)
    dataframes.append(df)
    
    # 提取文件名里的第二个日期
    file_name = os.path.basename(csv_file)  # 拿到纯文件名,例如graph_2020-08-04_2020-08-17.csv
    date_part = file_name.split('_')[-1].replace('.csv', '')  # 分割后取最后一段,去掉后缀得到2020-08-17
    file_date = pd.to_datetime(date_part)
    
    # 匹配Count,没匹配到默认返回0,可自行修改默认值
    count = date_count_map.get(file_date, 0)
    labels.append(count)

步骤3:后续构建networkx图直接使用labels即可

只要你生成graphs列表的顺序和遍历csv_files的顺序保持一致,labels列表里的Count就和每个graph一一对应,直接用原有逻辑赋值即可:

# 你原有构建graphs的逻辑,确保顺序和csv_files一致
graphs = []
# 你的建图代码...

# 直接用已经生成的labels列表即可

内容的提问来源于stack exchange,提问作者Landon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 09:45:04