Python 当数据始终按特定顺序排列但具有不同的值时,如何在CSV文件中查找特定值
所以我有一个CSV文件,每行最多有10个条目。(最多10行,因为大多数行不包含条目9和10),我需要找到每行的第四、第六和第八个条目 这是我的密码: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
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数据被错误地添加到了它的文件中。