Python比较两个文件(txt,csv等)相同内容合并同一文件/文本时间大小比较大小

来源:互联网 发布:怎么进入尼尔森数据网 编辑:程序博客网 时间:2024/06/07 03:01

问题描述:对A,B文件第一列相同的内容合并成新文件

A文件

1 1 6

2 4 5

3 6 2

4 5 6

B文件

2 4 5

3 6 2

7 6 8

10 3 5


思路1:直接使用两层循环,一两万数据没问题,几分钟或者更短,笔者90万+数据,跑了一天,卒................................

思路二:采用指针控制游标【第一列应该是有序的】:

举例:比较a,b数组相同的值并输出:

首先两者count1=0,count2=0,然后比较[有一个数组读完即可结束程序],见代码

if a[count1]==b[count2]

    count1++

    count2++

else if a[count1]<b[count2]

    count1++

else

   count2++


代码如下:

#include<stdio.h>int main(){    int a[7]={1,2,3,4,5,6,7};    int b[8]={5,6,7,8,9,10,27,46};    int index1=0,index2=0;    while(1)    {        if(index1==7 || index2==8)            break;        if(a[index1]==b[index2]){            printf("%d %d\n",a[index1],b[index2]);            index1++;            index2++;        }        else if(a[index1]>b[index2])            index2++;        else{            index1++;        }    }    return 0;}

好,到此思想应该明白了,本文使用python语言,基于第一行是时间,已经是有序的

python时间格式文本转换

import datetime

a =datetime.datatime.strptime('yourtime1','%Y/%m/%d %H:%M:%S')

b =datetime.datatime.strptime('yourtime2','%Y/%m/%d %H:%M:%S')

print(a==b)


具体Python脚本代码如下

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2017/10/13 20:33# @Author  : Andra# @Site    : # @File    : read.py# @Software: PyCharm Community Editionimport datetimefr1 = open("1.txt", 'r')fr2 = open("2.txt", 'r')frw = open("3.txt", 'w')line1 =fr1.readlines()line2 = fr2.readlines()count1=0count2=0while True:   # check end   if(count1==len(line1) or count2==len(line2)):       break   if (datetime.datetime.strptime(line1[count1].strip("\n").split(",")[0], '%Y/%m/%d %H:%M:%S')) == (datetime.datetime.strptime(line2[count2].strip("\n").split(",")[0], '%Y/%m/%d %H:%M:%S')):       string = line1[count1].strip("\n").split(",")[1] + "," + line2[count2].strip("\n").split(",")[1]       frw.write(string+"\n")           count1 += 1       count2 += 1   elif (datetime.datetime.strptime(line1[count1].strip("\n").split(",")[0], '%Y/%m/%d %H:%M:%S'))<(datetime.datetime.strptime(line2[count2].strip("\n").split(",")[0], '%Y/%m/%d %H:%M:%S')):       count1 += 1   else:       count2 += 1# close file streamfr1.close()fr2.close()frw.close()

完:

有问题随时交流,共同进步!







阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 生完孩子没有奶水怎么办 宝宝刚出生没奶怎么办 婴儿含着乳头睡怎么办 没满月的换奶粉怎么办 生完孩子奶少怎么办 刚满月没奶了怎么办 健康之路没奶水怎么办 生完孩子奶胀痛怎么办 生完两天没有奶怎么办 一个多月的宝宝睡眠不好怎么办 产妇奶少不够吃怎么办 冬天腿上掉皮屑怎么办 一岁宝宝不喝奶粉怎么办 2岁宝宝不吃奶粉怎么办 老婆生了孩子性冷淡怎么办 宝宝有轻度地贫怎么办 不小心怀孕了该怎么办 45岁不小心怀了怎么办 喝了酒胃不舒服怎么办 备孕期间孕酮低怎么办 2个月宝宝不睡觉怎么办 生完小孩肚子还是很大怎么办 生完孩子肚皮疼怎么办 生完孩子有肚腩怎么办 生完宝宝肚子还是很大怎么办 生完孩子小腹大怎么办 生完孩子肚皮松怎么办 生过孩子肚子松怎么办 生完孩子肚皮痒怎么办 生完小孩肚子松弛怎么办 生了孩子肚子大怎么办 嫁到别的省户口怎么办 孕中期假性宫缩怎么办 频繁的假性宫缩怎么办 显卡风扇不转了怎么办 老是想不好的事怎么办 做人工受孕多囊怎么办 子宫内有囊肿该怎么办 子宫长了个囊肿怎么办 怀孕后不想要该怎么办 20多岁雌激素低怎么办