python重复文件
⑴ 如何用python实现两个文件重复数据筛选并统计
本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴。具体方法如下:
对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表里的重复项,并且重复了几次也要统计出来。
方法1:
?
1234
mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复 项for item in myset: print("the %d has found %d" %(item,mylist.count(item)))
方法2:
?
123456
List=[1,2,2,2,2,3,3,3,4,4,4,4]a = {}for i in List: if List.count(i)>1: a[i] = List.count(i)print (a)
利用字典的特性来实现。
方法3:
?
123
>>> from collections import Counter>>> Counter([1,2,2,2,2,3,3,3,4,4,4,4])Counter({1: 5, 2: 3, 3: 2})
这里再增补一个只用列表实现的方法:
?
12345678910
l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9] count_times = []for i in l : count_times.append(l.count(i)) m = max(count_times)n = l.index(m) print (l[n])
其实现原理就是把列表中的每一个数出现的次数在其对应的位置记录下来,然后用max求出出现次数最多的位置。
只用这段代码的话,有一个缺点,如果有多个结果,最后的现实的结果只是出现在最左边的那一个,不过解决方法也很简单
⑵ 用python读取一个txt里的文件时,怎么去重复
用集合,Python里的set 其定义就是一个无序不重复集合。
你可以按单词存入一个集合之中,集合会自动帮你去重的
⑶ 用python找出一个a.txt文件中的重复数据,并将重复数据输出成另一个b.txt文件中
这里首先打开 a.txt 读取每一行,把每一行的内容作为字典的 key,然后字典的 value 记录的是重复行出现的次数,d.get 就是取目前的字典的行出现次数的值,默认为 0 就是没有出现,每次出现 +1
然后循环这个字典,如果 key 对应的 value 大于 1 表示重复出现过,就把这个内容写到 b.txt
⑷ python如何批量对每一个excel文件进行去重
01
去重
我们使用Pandas库的drop_plicates(subset=None, keep=‘first’, inplace=False)功能来对Excel文件中的重复项进行删除。
其中,subset参数代表指定列标记,默认当每一条行记录完全相同时,才会认定为重复行;keep=‘’有‘first’、‘last’和‘False’,意思是删除重复行时,保留first还是last还是全部删除,默认参数是‘first’;inplace=‘’有True和Flase,意思是直接替换还是保留副本,默认值是Flase。
读取Excel
import pandas as pd
df = pd.read_excel('全部.xlsx')
选中列去重
df.drop_plicates(['用户名称'])
其中第2、3行的用户名称与第0、1行重复,所以被删除。
03
保存最后一个重复数据
df.drop_plicates(['用户名称'],keep='last')
04
保存Excel
df.to_excel('去重后.xlsx')
02
批量获取Excel文件
在上面我们已经学会如何对单个Excel文件去重了,但是在读取文件名的时候,我们还是需要手动输入的,如果文件很多的话,我们要一个一个的输入,这不仅麻烦,而且也不符合自动化办公的名头。所以,我们就需要想办法取得该目录下的所有Excel文件。
这里我们用的是Pathlib库,取得该目录下所有的xlsx格式文件。
path = 'K:\自动化办公'
⑸ python怎么循环生成python文件
循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。
for循环
for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。
基本构造是
for 元素 in 序列:
statement
举例来说,我们编辑一个叫forDemo.py的文件
for a in [3,4.4,'life']:
print a
这个循环就是每次从表[3,4.4,'life'] 中取出一个元素(回忆:表是一种序列),然后将这个元素赋值给a,之后执行隶属于for的操作(print)。
介绍一个新的Python函数range(),来帮助你建立表。
idx = range(5)
print idx
可以看到idx是[0,1,2,3,4]
这个函数的功能是新建一个表。这个表的元素都是整数,从0开始,下一个元素比前一个大1, 直到函数中所写的上限 (不包括该上限本身)
(关于range(),还有丰富用法,有兴趣可以查阅, Python 3中, range()用法有变化,见评论区)
举例
for a in range(10):
print a**2
while循环
while的用法是
while 条件:
statement
while会不停地循环执行隶属于它的语句,直到条件为假(False)
举例
while i < 10:
print i
i = i + 1
中断循环
continue # 在循环的某一次执行中,如果遇到continue, 那么跳过这一次执行,进行下一次的操作
break # 停止执行整个循环
for i in range(10):
if i == 2:
continue
print i
当循环执行到i = 2的时候,if条件成立,触发continue, 跳过本次执行(不执行print),继续进行下一次执行(i = 3)。
for i in range(10):
if i == 2:
break
print i
当循环执行到i = 2的时候,if条件成立,触发break, 整个循环停止。
⑹ Python怎么从文件里的数据去重复,去重复后,再保存到文件里,把重复的数据保存出来
内容读出来通过逗号分割成一个列表,再去掉重复的,再写入到文件里面
#-*-coding:utf-8-*-
filename='data.txt'
withopen(filename,'r')asf:
content=f.read()
content=list(set(content.split(',')))
content=','.join(content)
withopen(filename,'w')as_f:
_f.write(content)
⑺ 如何用python编写一个重复执行的程序要求用户输入一个字符串如果输入的字符串
文件夹之中,然后打开python编辑器来编写这个python文件的代码。在文件的顶部写上导入os模块的代码,然后创建一个无限的while循环。
2.
在循环结构之中使用变量去保存几个字符串,字符串的内容就是python xxx.py。在循环的末尾使用os模块的system()并将一
⑻ python写的ftp自动上传脚本,怎么判断重复的文件不重传呢size判断不够精确 有没有更好的方式跪求大神
这个没有特别准确的办法。你连SIZE检测也信不过。只有自己改程序了。
办法1:改写FTP程序,加一个hash确认。以前我这么做过。在python里可以轻松做一个FTP SERVER,加上自己做的MD5检测就可以了。
办法2:通过nc转发请求,在NC里设置一个检测。
办法3:如果文件不大,上传完再下载下来检测
办法4:采用自己传有的流水号,重新设置FTP SERVER,让它定期根据流水号,生成检验码,然后你在客户端定期下载这个文件。 这个方法过去在电信系统里经常使用。防出错效果很好。
⑼ 用python找出一个txt文件中的重复数据,并将重复数据输出成另一个txt文件
假设你的文件名是a.txt,写到b.txt
d={}
forlineinopen('a.txt'):
d[line]=d.get(line,0)+1
fd=open('b.txt','w')
fork,vind.items():
ifv>1:
fd.write(k)
fd.close()