如何使用python删除csv文件中基于副本的特定行?

2024-04-20 04:31:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,其中有许多行如下所示。你知道吗

20170718 014418.475476 [UE:142 CRNTI : 446] 

20170718 094937.865362 [UE:142 CRNTI : 546] 

上面是csv文件的两行示例。你知道吗

现在,如果我们看到这些行,就会有一个名为[UE:142…]的字符串在csv文件中重复出现。你知道吗

问题陈述:

我想删除csv文件中多次包含字符串[UE:<;>的重复行,即在上述行中,字符串[UE:142重复两次,因此必须删除第二行,这样就有许多像[UE:142]这样的随机字符串。你知道吗

有人能帮我用python脚本来解决上面的问题吗?你知道吗

import csv
reader = open("test.csv", "r")
lines = reader.read().split(" ")
reader.close()

writer = open("test_1.csv", "w")
for line in set(lines):
    writer.write(line)
writer.close()

Tags: 文件csv字符串testlt脚本示例close
1条回答
网友
1楼 · 发布于 2024-04-20 04:31:14
from csv import reader, writer as csv_writer

csv_path = '<your csv file path here>'

def remove_duplicate_ue (csv_path):
    found = False
    with open (csv_path, 'r') as csv_file:
        for line in reader (csv_file, delimiter = ' '):
            if 'UE:' not in line [-1]:
                yield line
            elif not found:
                yield line
                found = True

def write_csv (csv_path, rows, delimiter = ' '):
    with open (csv_path, 'w') as csv_file:
        writer = csv_writer (csv_file, delimiter = delimiter)
        for row in rows:
            writer.writerow (row)

write_csv (csv_path, tuple (remove_duplicate_ue (csv_path)))

相关问题 更多 >