繁体   English   中英

从csv.reader打印

[英]printing from csv.reader

这应该很容易,但是我有点放屁了。 CSV维护四个纬度和经度对的列表。 根据代码,如果我打印row [0],则仅打印纬度,如果我打印row [1],则打印经度。 如何格式化代码以打印特定的经纬度对? 说.. CSV中的第二个经/纬对。

import csv

with open('120101.KAP.csv','rb') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print row[0]

遍历reader会为您提供每一行。 如果要获取第二行,请改用next()函数 ,忽略其中一个并获取第二行:

reader = csv.reader(csvfile)
next(reader)  # ignore
row = next(reader)  # second row
print row           # print the second row.

您可以使用itertools.islice()对象为您进行概括:

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文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM