对比两个csv文件记录差异

对比两个csv文件记录差异,第1张

概述对比两个csv文件记录差异

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

# -*- Coding:utf-8 -*-  import csvimport osclass csvread():    def __init__(self,filename,lstname):        self.lstname = lstname#lstname 用于比对csv中相同列        self.filename = filename        self.header = self.fIElds()        self.data = self.getdata()        self.dataset = self.getset()#test update		#以字典方式获取csv数据    def getdata(self):        data = []        with open(self.filename,newline = "") as csvfile:            reader = csv.DictReader(csvfile)            for row in reader:                data.append(row)        return data#获取序列    def getset(self):        lst = set()        for row in self.data:            lst.add(row.get(self.lstname))        return lst#获取表头    def fIElds(self):        with open(self.filename,newline = "") as csvfile:            reader = csv.reader(csvfile)            fIElds = reader.__next__()            return fIElds    def __sub__(self,other):        #diff表示公共序列的差集,即表1中存在而表2不存在的列        diff = self.dataset - other.dataset        rdata = []       #根据diff生产基于表1的记录         for row in self.data:            if row[self.lstname] in diff:                rdata.append(row)        f1 = os.path.basename(self.filename)        f2 = os.path.basename(other.filename)        f1 = f1.split('.')[0]        f2 = f2.split('.')[0]        filename = f1+'_'+f2+'.csv'        filename = os.path.join(os.path.dirname(self.filename),filename)       #写入csv文件         with open(filename,'w',newline="") as csvfile:            writer = csv.DictWriter(csvfile,fIEldnames=self.header)            writer.writeheader()            writer.writerows(rdata)            return filenameif __name__ == '__main__':    import sys#print(sys.argv[0])#for i in sys.argv:    filename1 = sys.argv[1]    print(filename1)    filename2 = sys.argv[2]    print(filename1,filename2)    file1 = csvread(filename1)    file2 = csvread(filename2)    file1-file2    file2-file1

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的对比两个csv文件记录差异全部内容,希望文章能够帮你解决对比两个csv文件记录差异所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1198505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存