![](/img/trans.png)
[英]How do I read specific rows AND columns in CSV file while printing values within a certain range
[英]How do I find specific values inside of a CSV file when the data is always in a certain order but with different values
所以我有一个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
有人会告诉我我要去哪里错吗?
[![Here is the first line of my CSV file][1]][1]
[1]: https://i.stack.imgur.com/osbBT.png
这是我的结果
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
编辑:从您提供的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])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.