您的位置:

python文件重复行,python重复执行

本文目录一览:

python如何去除重复行并写入另一个文件

fin = 'a.txt'

fout = 'b.txt'

with open(fin) as f:

    ss = f.reads().strip().split('\n')

s2 = [ss[0]] 

for s in ss[1:]:

    if s != s2[-1]:

        s2.append(s)

with open(fout, 'w') as f:

    f.write('\n'.join(s2))

or

fin = 'a.txt'

fout = 'b.txt'

with open(fin) as f:

    ss = f.reads().strip().split('\n')

s2 = [ss[i] for i in range(len(ss)) if i==0 or ss[i]!=ss[i-1]]

with open(fout, 'w') as f:

    f.write('\n'.join(s2))

python如何批量对每一个excel文件进行去重?

01

去重

我们使用Pandas库的drop_duplicates(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_duplicates(['用户名称'])

其中第2、3行的用户名称与第0、1行重复,所以被删除。

03

保存最后一个重复数据

df.drop_duplicates(['用户名称'],keep='last')

04

保存Excel

df.to_excel('去重后.xlsx')

02

批量获取Excel文件

在上面我们已经学会如何对单个Excel文件去重了,但是在读取文件名的时候,我们还是需要手动输入的,如果文件很多的话,我们要一个一个的输入,这不仅麻烦,而且也不符合自动化办公的名头。所以,我们就需要想办法取得该目录下的所有Excel文件。

这里我们用的是Pathlib库,取得该目录下所有的xlsx格式文件。

path = 'K:\自动化办公'

利用Python编写判断文件是否有重复行的脚本

# coding:UTF-8

def rept(file):

f=open(file,'r')

lines=f.readlines()

f.close()

lines.sort()

oldline='z^z^z^z^z^z^z^z^z'

k=1

for newline in lines:

if (newline==oldline)and(k!=1):

return True

else:

oldline=newline

k+=1

return False

print(rept('c:/python27/rep.txt'))

python如何合并多个txt文件删除所有重复行并生成新文件

把所有的这些txt文件放到一个文件夹里

打开cmd, 进入到这个放了多个txt的文件夹, 运行命令copy *.txt all.txt

在该文件夹下创建一个python脚本 1.py, 将下列代码复制进去

# coding=utf-8

# using python27

file_path = 'all.txt'

with open(file_path, 'r') as f:

    card_informations = map(lambda x: x.strip().split('\t'), f.readlines())

for i in range(len(card_informations)):

    number = card_informations[i][0]

    if len(number)10:

        card_informations[i][0] += '0'  # 给小于十位的加上0

# 剔除重复数据

result = []

for i in card_informatios:

    if i not in result:

        result.append(i)

# 写入新文件

with open('result.txt', 'w+') as f:

    for i in range(len(result)):

        f.write(result[i][0]+'\t'+result[i][1]+'\n)

4. 运行该脚本, 然后该文件夹下就会多出一个result.txt的文件, 里面放的就是去重完之后的所有卡信息.

急求:如何用python删除文本中的重复行?

1.如果你的txt 文件不大的话 可以直接 

tmp = open('**.txt').readlines() #把内容一次性全部读取出来 是一个列表

set(tmp) #这个就是把列表 去重复 

然后 你可以把 这个去重后的tmp 写入到新的文件

2.txt很大,那么只能一行一行的读取去重了

#!/usr/bin/env python

# coding=utf-8

# python 2.7

outfile = open('result-readline.txt', 'w') #新的文件

list_1=[]

for line in open('test.txt'):  #老文件

    tmp = line.strip()

    if tmp not in list_1:

        list_1.append(tmp)

        outfile.write(line)

outfile.close()

python用drop_duplicates()函数保留数据集的重复行

       前两天处理数据的时候,需要得到两个数据的交集数据,所以要去除数据中非重复部分,只保留数据中的重复部分。

       网上看了一下大家的教程,大部分都是教去除重复行,很少有说到仅保留重复行的。所以在这里用drop_duplicates这个去重函数来实现这个功能。

drop_duplicates函数介绍 :

data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)

#subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。

默认值为subset=None表示考虑所有列。

keep='first’表示保留第一次出现的重复行,是默认值。

keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。

inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。

要用函数取得数据集data中的重复列,分三个步骤 :

(提前导入pandas模块)

data0_1 = data.drop_duplicates() #保留第一个重复行

data0_2 = data.drop_duplicates(keep=False) #去除所有重复行

data0_3=pd.concat([data0_1,data0_2]).drop_duplicates(keep=False)

#合并起来再去重,只剩下真的重复行。

举例:data中wangwu行和tony行重复,需要把它们两行取出。

第一步:#保留第一个重复行

第二步:#去除所有重复行

第三步:#合并起来再去重

通过以上步骤实现取出数据中的重复行。