文本文件比对_文本文件格式有哪些

文本文件比对_文本文件格式有哪些前提需要安装python的pandas包

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

#!/usr/local/python27/bin/python2.7
#coding:utf-8
__author__ = 'similarface'
import os,sys
from pandas import *
import pandas as pd
if sys.argv.__len__()<6:
    info='''
---------------------------------------------------------------------------
该程序比对2个文件的列,如果文件1的列=文件2的列,则输出,输出为csv格式文件!
使用方法:merge 文件1 比对列1 文件2 比对列2 输出文件
useage:merge file1 comparecol file2 comparecol outfile
备注:文件的列从1开始计数,可以在后面追加debug。
---------------------------------------------------------------------------
    '''
    print(info)
    print('使用方法:merge file1 comparecol file2 comparecol outfile')
    print(sys.argv)
    sys.exit(-1)
else:
    infile1=sys.argv[1]
    comparepos1=sys.argv[2]
    infile2=sys.argv[3]
    comparepos2=sys.argv[4]
    outputfile=sys.argv[5]
    flag=True
    try:
        debug=sys.argv[6]
        if debug!='debug':
            flag=False
    except IndexError:
        flag=False
    if os.path.exists(infile1) and os.path.exists(infile2) and os.path.isfile(infile2) and os.path.isfile(infile1):
        if infile1.endswith('csv'):
            data1=pd.read_table(infile1,header=None,sep=',')
        else:
            data1=pd.read_table(infile1,header=None,sep='\s+')

        if infile2.endswith('csv'):
            data2=pd.read_table(infile2,header=None,sep=',')
        elif infile2.endswith('txt'):
            data2=pd.read_table(infile2,header=None)
        else:
            data2=pd.read_table(infile2,header=None,sep='\s+')
        if flag:
            print('索引上+1就是比对的参数值')
            print('------data1数据源------')
            print(data1.columns)
            print(data1.ix[0:10])
            print('------data2数据源------')
            print(data2.columns)
            print(data2.ix[0:10])

        r=pd.merge(data1,data2,left_on=int(comparepos1)-1,right_on=int(comparepos2)-1)
        r.to_csv(outputfile)
        if flag:
            print(pd.read_csv(outputfile,nrows=10))
    else:
        print('给定文件文件不存在!')

 

/shell/merge.sh 2.txt 1 3.txt 1 result.csv debug
索引上+1就是比对的参数值
------data1数据源------
Int64Index([0], dtype='int64')
                0
0   111-1116-3782
1   111-1120-5765
2   111-1114-6846
3   111-1121-1087
4   111-1120-3655
5   111-1113-2658
6   111-1115-5084
7   111-1117-2234
8   111-1112-2871
9   111-1119-4502
10  111-1112-4707
------data2数据源------
Int64Index([0], dtype='int64')
                0
0   111-1127-3269
1   111-1123-1863
2   111-1125-5555
3   111-1129-1959
4   111-1125-5081
5   111-1122-3431
6   111-1127-0824
7   111-1126-2713
8   111-1128-8409
9   111-1121-3852
10  111-1121-8611
   Unnamed: 0              0
0           0  111-1116-3782

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167648.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • autosize px转dp_Android 屏幕适配以及autoSize的原理.md

    autosize px转dp_Android 屏幕适配以及autoSize的原理.mdAndroidAutoSize的原理px=dp*density;根据百分比适配的话,如果设计稿给的是1080×1920,那么宽就为360dp,像素为1080px,density为3,占满100%如果是在720×1280的话,360dp*density=720,所以这个density为2,将density修改为2就可以了如果是在1080×1920的设计图中,150px,也就是50dp…

    2022年5月7日
    62
  • java中的sort排序算法_vba中sort按某列排序

    java中的sort排序算法_vba中sort按某列排序C++中提供了sort函数,可以让程序员轻松地调用排序算法,JAVA中也有相应的函数。1.基本元素排序:Array.sort(排序数组名)packagetest;importjava.util.*;publicclassmain{ publicstaticvoidmain(Stringargs[]) { Scannercin=newScanner(Sys

    2022年8月12日
    3
  • 航天金税开票导入导出txt格式

    航天金税开票导入导出txt格式防伪开票文本接口软件接口文件格式说明一、接口文件格式1.文件种类接口文件为纯文本文件,各行尾以回车换行码(ASCII码13和10)或换行码(ASCII10)分隔均可,可用各种文本编辑器编写或通过应用程序生成。2.注释行文件中以两个斜杠(//)置于行首的行为注释行,系统读入文件时忽略注释行和空行。3.分隔符每行中各个项目之间以两个波浪号(“~~”)分隔,行尾各项目均省略时可省略相应的分隔符。4.日期格式日期以四位年份+两位月份+两位日期表示:YYYYMMDD,…

    2022年5月29日
    113
  • 自定义bt服务器,[教程]Aria2自动更新BT Tracker服务器列表的方法[通俗易懂]

    自定义bt服务器,[教程]Aria2自动更新BT Tracker服务器列表的方法[通俗易懂]说明公开的BTtracker服务器,因为种种原因总会经常失效,要想获取更多的peer需要经常维护这份列表。感谢github上的小伙伴提供了这么一份tracker自动更新列表:trackerslist。我们要想Aria2也支持自动更新这份列表,那么你可以按照下面方法来实现。方法此文仅适用于Centos系统,其它系统稍作变更即可。我没有使用过其它系统,这里也就不提供兼容性的脚本了。示例:Aria2安…

    2022年9月30日
    0
  • XXE漏洞以及Blind XXE总结「建议收藏」

    XXE漏洞以及Blind XXE总结「建议收藏」转载请注明出处:http://blog.csdn.net/u0117215010、前言XXE漏洞是针对使用XML交互的Web应用程序的攻击方法,在XEE漏洞的基础上,发展出了BlindXXE漏洞。目前来看,XML文件作为配置文件(Spring、Struts2等)、文档结构说明文件(PDF、RSS等)、图片格式文件(SVGheader)应用比较广泛,此外,网上有一些在线XML格式…

    2022年5月10日
    95
  • OPENGL 教程网站

    1.http://nehe.gamedev.net/这个是我觉得全世界最知名的OpenGL教程,而且有网友将其中48个教程翻译成了中文http://www.owlei.com/DancingWind/。Nehe教程最大的特点是提供了针对不同平台、不同编译器、不同语言的各种版本。你

    2022年4月8日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号