循环使用reader
为您提供每一行。如果你想获得的第二行,使用next()
function代替,忽略一个并获得第二:
reader = csv.reader(csvfile)
next(reader) # ignore
row = next(reader) # second row
print row # print the second row.
您可以通过使用itertools.islice()
object做跳跃的你概括如下:
from itertools import islice
reader = csv.reader(csvfile)
row = next(islice(reader, rownumber)) # skip to index rownumber, read that
print row
考虑到计数从0开始,所以“第二行”是rownumber = 1
。
或者你可以只读取所有行到一个列表和索引成:
reader = csv.reader(csvfile)
rows = list(reader)
print rows[1] # print the second row
print rows[3] # print the fourth row
只有做到这一点(加载一切都变成清单)如果有行的数量有限。对读取器的迭代只会一次产生一行,并使用文件缓冲区进行高效读取,从而限制使用多少内存;您可以通过这种方式处理巨大的CSV文件。
这工作就好了,有没有什么办法有print语句打印说只是 48.400006749152,-71.083320495196 作为反对 ['48 0.400006749152,-71.083320495196 '] – dpalm
@dpalm - '打印 ', '.join(rows [1])'或'print','。join(row)',具体取决于您使用的示例。感谢芽, –
,效果很好 – dpalm