Python 当数据始终按特定顺序排列但具有不同的值时,如何在CSV文件中查找特定值

Python 当数据始终按特定顺序排列但具有不同的值时,如何在CSV文件中查找特定值,python,python-3.x,Python,Python 3.x,所以我有一个CSV文件,每行最多有10个条目。(最多10行,因为大多数行不包含条目9和10),我需要找到每行的第四、第六和第八个条目 这是我的密码: ll = [] with open ('stats.csv', 'r') as f: for line in f: a = line.split(",") ll.append(a) for i in ll: b = line[3] c = lin

所以我有一个CSV文件,每行最多有10个条目。(最多10行,因为大多数行不包含条目9和10),我需要找到每行的第四、第六和第八个条目

这是我的密码:

ll = []
with open ('stats.csv', 'r') as f:
    for line in f:
        a = line.split(",")
        ll.append(a)
        for i in ll:
            b = line[3]
            c = line[5]
            d = line[7]
            print(b,c,d)
现在,这将在CSV文件的第一行中找到正确的值,但在此之后,它将给出一个错误

错误消息:

 Line 7, in <module> b = line[3]
 IndexError: list index out of range
这是我的结果

0.010910065844655037 0.004127473570406437 0.9779554605484009
Traceback (most recent call last):
File "/*/*/*/read_xyz_stats.py", line 8, in <module>
b = i[3]
IndexError: list index out of range
0.010910065844655037 0.004127473570406437 0.9779554605484009
回溯(最近一次呼叫最后一次):
文件“/*/*/*/read_xyz_stats.py”,第8行,在
b=i[3]
索引器:列表索引超出范围

编辑:从您提供的csv示例中,没有逗号,因此请使用

a=line.split()
而不是
a=line.split(“,”)

尝试用“i”替换“line”:

ll = []
with open ('stats.csv', 'r') as f:
    for line in f:
        a = line.split()
        ll.append(a)
    for i in ll:
        b = i[3]
        c = i[5]
        d = i[7]
        print(b,c,d)

编辑:从您提供的csv示例中,没有逗号,所以请使用

a=line.split()
而不是
a=line.split(“,”)

尝试用“i”替换“line”:

ll = []
with open ('stats.csv', 'r') as f:
    for line in f:
        a = line.split()
        ll.append(a)
    for i in ll:
        b = i[3]
        c = i[5]
        d = i[7]
        print(b,c,d)

您的问题不清楚这些行的格式,但我假设每行的格式如下所示:

1,2,3,4,5,6,7,8,9,0

在这种情况下,应使用以下代码执行此操作:

with open ('stats.csv', 'r') as f:
    for line in f:
        a = line.strip().split(",")
        print(a[3], a[5], a[7])

您的问题不清楚这些行的格式,但我假设每行的格式如下所示:

1,2,3,4,5,6,7,8,9,0

在这种情况下,应使用以下代码执行此操作:

with open ('stats.csv', 'r') as f:
    for line in f:
        a = line.strip().split(",")
        print(a[3], a[5], a[7])

这会产生相同的结果。您是否可以编辑您的问题以显示csv文件的示例以及您得到的结果。检查CSV第一行的链接。其余的都是一样的。@Shaun,你的csv示例不包含逗号,所以请使用a=line.split(),查看我编辑的答案。这个答案是正确的,结果是我的csv数据被错误地添加到了它的文件中。这会产生相同的结果。你能编辑你的问题来显示你的csv文件的示例以及你得到的结果吗。检查CSV第一行的链接。其余的都是一样的。@Shaun,您的csv示例不包含逗号,所以请使用a=line.split(),查看我编辑的答案。这个答案是正确的,结果表明我的csv数据被错误地添加到了它的文件中。