gpt4 book ai didi

python - 如何获取文本文件第一列的唯一元素?

转载 作者:太空宇宙 更新时间:2023-11-04 07:05:56 24 4
gpt4 key购买 nike

我正在处理一个文本文件,其列由制表符分隔。我想获取第一列的所有唯一值。

文本输入例如:

"a\t\xxx\t..\zzz\n
a\t\xxx\t....\n
b\t\xxx\t.....\n
b\t\xxx\t.....\n
c\t\xxx\t.....\n"

所以在这种情况下,我想得到一个数组:uniques=["a","b","c"]

代码:

def getData(fin):
input = open(fin, 'r',encoding='utf-16')
headers=input.readline().split()
lines=input.readlines()[1:]
uniques=[(lambda line: itertools.takewhile(lambda char: char!='\t',line))for line in lines]

我得到的不是所需的值,而是一个列表:

<function getData.<locals>.<listcomp>.<lambda> at 0x000000000C46DB70>

我已经读过这篇文章Python: Lambda function in List Comprehensions我不明白你必须使用括号来确保正确的执行顺序。我仍然得到相同的结果。

最佳答案

你可以只使用split():

def getData(fin):
input = open(fin, 'r',encoding='utf-16')
headers=input.readline().split()
lines=input.readlines()[1:]
uniques=[line.split('\t')[0] for line in lines]

请注意,这不会产生唯一值,它会产生每一行的值。要使其独一无二,请执行以下操作:

uniques = list(set(uniques))

关于python - 如何获取文本文件第一列的唯一元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48053305/

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