zoukankan      html  css  js  c++  java
  • 比较两个CSV的方法的探索

    1.开始时,我用ultraEdit来简单比较,需要排序,而且比较的结果也有限

    2.Excel也有这样的功能,可是好复杂

    3.而后,发现dbeaver这个tools,利用JDBC Driver(csvjdbc-1.0.35.jar)支持对CSV查询

    但原来不支持将两个CSV文件用join的方法来比较,白忙活一场

    4.那么我又想起了万能的pathron,利用pandas就可以在命令行比较csv啦。

    可行倒是可行,可是不直观。。。还是不爽

    import pandas as pd
    
    f1 = pd.read_csv('C:\user\file1.csv)
    f2 = pd.read_csv('C:\user\file2.csv')
    
    f3 = pd.concat([f2, f1[~f1.column1.isin(f2.column1)]])
    print(f3)

     

    5.想起了linqpad这个工具,当时还觉得有点鸡肋,现在回顾起来,可以直接读取XML文件进行转换,也可以用linq的格式读CSV文件

    真是远在天边,近在眼前,简直是利器

    String filename = @"d:	emp	est2.csv";
    string[] csvlines = File.ReadAllLines(filename);
    var q1 = from csvline in csvlines.Skip(1)
    		  let data = csvline.Split(',')
    		  select data;
    var filename2 = @"d:	emp	est3.csv";
    string[] csvlines2 = File.ReadAllLines(filename2);
    var q2 = from csvline in csvlines2.Skip(1)
    		  let data = csvline.Split(',')
    		  select data;
    var q = from a in q1
    		join b in q2 on a[1] equals b[1]
    		where a[2] != b[2]
    		select new {
    		col1 = a[0],
    		col2 = a[1],
    		col3 = a[2],
    		col34= b[2]
    		};
    q.Dump();		
    

     

     

  • 相关阅读:
    java 数字补齐0
    Ubuntu 12.04中文输入法的安装
    mac 更改word的默认显示比例为125
    接口测试的简介
    接口测试和功能测试的区别
    session、token、cookie的区别
    python接口自动化--get请求
    测试用例之正交排列法
    编写测试用例的方法
    jquery选择器
  • 原文地址:https://www.cnblogs.com/sui84/p/11832166.html
Copyright © 2011-2022 走看看