CVS文件转Json格式

需求

读取CSV文件,将数据组合成新的JSON格式输出打印

如果出现不足5列的,空的既跳过

测试用例

bash 复制代码
import csv

def process_csv_file(filename):
    """
    处理CSV文件,获取C列(domain)和E列(valid)的值
    注意:CSV列索引从0开始,C列是第3列(索引2),E列是第5列(索引4)
    """
    results = []
    
    with open(filename, 'r', encoding='utf-8') as file:
        # 创建CSV阅读器
        csv_reader = csv.reader(file)
        
        # 跳过表头(如果有)
        headers = next(csv_reader, None)
        print(f"CSV表头: {headers}")
        
        # 处理每一行
        for row_num, row in enumerate(csv_reader, start=2):  # 行号从2开始(跳过表头)
            if len(row) >= 5:  # 确保行至少有5列
                domain = row[2]  # C列,索引2
                valid = row[4]   # E列,索引4
                
                results.append({
                    'row': row_num,
                    'domain': domain,
                    'valid': valid
                })
            else:
                print(f"警告: 第{row_num}行列数不足,跳过")
    
    return results


if __name__ == '__main__':
    # 使用示例
    results = process_csv_file('risk_mail_domain_verify_record_202602041439.csv')
    for result in results:
        print(f"行 {result['row']}: domain={result['domain']}, valid={result['valid']}")
相关推荐
阿钱真强道15 小时前
21 嵌入式操作系统 | JSON 与 json-c:生成与解析
c语言·开发语言·json·json-c
譕痕7 天前
JSONObject与JSONArray封装数据格式区别
java·json
A黄俊辉A7 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
伞伞悦读7 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
Mikko77 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
天若有情6739 天前
独立开发复盘:我用 Node.js 做了个在线工具箱
前端·json·工具
Asurplus9 天前
【SpringBoot4】3、从SpringBoot4升级Sa-Token1.46.0报错
redis·sa-token·json·jackson·springboot4
代码中介商10 天前
C++ 预约系统实战(三):服务端实现——libevent 事件驱动与业务路由
c++·json·c/s
譕痕10 天前
notepad++安装插件 可视化展示 json串内容
json·intellij-idea
databook11 天前
DuckDB + SQL 高效分析 JSON 数据
数据分析·json·nosql