python小点dian儿:去除txt/json重复行

目录

去除重复行(法一:利用内置set)

去除重复行(法二:建造list或set检查是否已存在)

按行写入json/txt文件

查看文件行数长度


factfile_path  为json文件

casefile_path 为txt文件

去除重复行(法一:利用内置set)

先了解Python splitlines()用法

str.splitlines([keepends])
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,参数 keepends默认为 False,不保留换行符,如果为 True,则保留换行符。在处理中,建议默认不保留,在写入的时候在定义换行符。

json涉及字符串与字典的转换,需一行一行写入,txt可利用file.writelines(list)进行整体写入

import json
# f11(json文件),f22(txt文件)为原文件,f.f2为新写入文件
with open(casefile_path2, 'a+', newline='', encoding='utf-8') as f, \
        open(casefile_path, 'r', encoding='utf-8') as f11:
    # casefile为json文本,去重写入
    casetmp = f11.read().splitlines()
    print("casetmp", type(casetmp))# <class 'list'>
    casetmp1 = list(set(casetmp))  # 利用内置集合去重
    casetmp1.sort(key=casetmp.index) #排序
    for each in casetmp1:
        case = json.loads(each)
        json.dump(case, f, sort_keys=True, ensure_ascii=False)
        f.write("\n")

with  open(factfile_path2, 'a+', newline='', encoding='utf-8') as f2, \
        open(factfile_path, 'r
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值