gpt4 book ai didi

python - 删除重复行?

转载 作者:行者123 更新时间:2023-11-30 23:35:08 24 4
gpt4 key购买 nike

有谁知道我如何删除以下数据中的重复行,其中重复行是具有相同名称的行?问题是我想在重复条目中保留不同的电话号码、电子邮件等。

此数据是制表符分隔的文本文件。

谢谢!

name    phone   email   website
Diane Grant Albrecht M.S.
Lannister G. Cersei M.A.T., CEP 111-222-3333 cersei@got.com www.got.com
Argle D. Bargle Ed.M.
Sam D. Man Ed.M. 000-000-1111 dman123@gmail.com www.daManWithThePlan.com
Sam D. Man Ed.M.
Sam D. Man Ed.M. 111-222-333 dman123@gmail.com www.daManWithThePlan.com
D G Bamf M.S.
Amy Tramy Lamy Ph.D.

理想输出:

name    phone   email   website
Diane Grant Albrecht M.S.
Lannister G. Cersei M.A.T., CEP 111-222-3333 cersei@got.com www.got.com
Argle D. Bargle Ed.M.
Sam D. Man Ed.M. 000-000-1111, 111-222-333 dman123@gmail.com www.daManWithThePlan.com
D G Bamf M.S.
Amy Tramy Lamy Ph.D.
<小时/>

后续:

对此的想法:

from collections import defaultdict
import csv
import re

input = open('ieca_first_col_fake_text.txt', 'rU')

for row in input:
row.split('\t')
print row

# default to empty set for phone, email, website, area, degrees
extracted_data = defaultdict(lambda: [set(), set(), set()])

data_set = {}

for entry in input:

for index, value in enumerate(entry):
if index == 0:
data_set = extracted_data[name]
elif value:
data_set[index - 1].add(value)

print data_set

数据集为空(“{}”)

最佳答案

解析数据时,使用字典,其中名称是键,每个值是每个附加值的列表,每个附加值又是一个集合。只要您不需要按行维护数据之间的任何关联,这种方法就可以正常工作。

from collections import defaultdict
extracted_data = defaultdict(lambda: [set(), set(), set()])
# Splitting of data depends upon your input format
for entry in input:
# Assume split() returns a 4-length iterable containing name,
# phone, email, and url where the value is falsy if not present
for index, value in enumerate(split(entry)):
if index == 0:
data_set = extracted_data[name]
elif value:
data_set[index - 1].add(value)

关于python - 删除重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com