[英]comparing a txt file with csv file with python
我正在开发一个python代码,它将比较一个txt文件和一个csv文件,并找出是否有相同或不相同。如果没有,找到错误并在excel表上汇总它们。
def main():
filename1=input("Enter txt file name:- ")
filename2=input("Enter csv file name:- ")
fp1=open(filename1,"r")
fp2=open(filename2,"r")
list1=[]
list2=[]
for line in fp1: #iterating through each line in the file
a=line.split(",") #splitting line based on comma
for i in a: #iterating through each element in list
i=i.rstrip() #removing new line from elements in list
list1.append(i) #appending element in the list
for line in fp2:
a=line.split(",")
for i in a:
i=i.rstrip()
list2.append(i)
fp2=open("res.csv","a") #opening res file in append mode
flag=0
for i in range(0,len(list1)): #iterating through lists
if (i==len(list1)-1 and list1[i]!=list2[i]): #if total is different in both files
fp2.write(list1[i-1]+","+str(abs(int(list1[i])-int(list2[i])))) #printing difference
flag=1
elif (list1[i]!=list2[i]): #if other lines are different
fp2.write(list1[i-1]+","+list1[i]+","+list2[i-1]+","+list2[i]+"\n") #printing different lines
flag=1
if (flag==0): #if there is no difference
fp2.write("none")
main() #calling main function
输出应该是一个excel表,其中包含两个文件之间差异的摘要。上面的代码给出了文件之间的数字差异,但如果行数不同,输出也应该打印不在1的行文件。 我将不胜感激任何改进此代码的想法,并帮助创建代码以比较txt和csv文件与excel电子表格上的差异输出。 谢谢。 *我还是新来的,所以如果我需要编辑某些内容或让我的问题更清楚,请告诉我。
如果两个文件包含相同类型的数据,我建议将.csv和.txt数据同时读取到pandas数据表(转换后)。
读取后,您可以轻松地使用两个数据集的列和行进行操作,即找到两个表之间的差异,并将此差异输出到您想要的任何格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.