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();		
    

     

     

  • 相关阅读:
    webp实践的javascript检测方案
    码农不算程序员 :)
    解决 phpmyadmin #2002 无法登录 MySQL 服务器
    xmlhttprequest upload
    shape-outside 矩形之外的另一种思路
    百度搜索词&淘宝搜索词 接口实现
    Sublime Text 2 破解 on Mac
    利用a标签自动解析URL
    rc4加密解密
    国内的一些前端框架
  • 原文地址:https://www.cnblogs.com/sui84/p/11832166.html
Copyright © 2011-2022 走看看