猿问

使用 Python 读取 CSV 文件的值

我在从下面的 CSV 文件中获取行值时遇到了一些问题


CSV

minzoom, maxzoom

0,5

5,10

10,18

我的代码:


i = 0

for line in open("C:/Marine/lookup/distinct_lookup_scales.csv"):

    i = i + 1

    if (i > 1):  #Skip header

        print("Line: " + line)

        #csv_row = line.split(',')

        minzoom = str(line[0])

        maxzoom = str(line[2])

        print("Minzoom:" + minzoom)

        print("Maxzoom:" + maxzoom)

        readShpFile(minzoom, maxzoom)

minzoom和maxzoom 的返回值是


0   5

5   1

1   ,

我曾使用行拆分但又恢复尝试从行中获取项目不确定这是否是最好的方法


九州编程
浏览 143回答 2
2回答

弑天下

这不是你应该如何阅读 csv 文件。查看csv 模块文档。一个例子:import csvwith open('C:/Marine/lookup/distinct_lookup_scales.csv', 'r') as csvfile:    csvreader = csv.reader(csvfile)    csvreader.next() #skip header    for row in csvreader:        minzoom = int(row[0])        maxzoom = int(row[1])        print('minzoom : {}'.format(minzoom))        print('maxzoom : {}'.format(maxzoom))您还可以使用 DictReader,它将使用您的标题行来生成字典。import csvwith open('C:/Marine/lookup/distinct_lookup_scales.csv', 'r') as csvfile:    csvreader = csv.DictReader(csvfile)    for row in csvreader:        minzoom = int(row['minzoom'])        maxzoom = int(row['maxzoom'])        print('minzoom : {}'.format(minzoom))        print('maxzoom : {}'.format(maxzoom))

www说

你可以试试 numpy.genfromtxt,比如:import numpy as npdata = np.genfromtxt("C:/Marine/lookup/distinct_lookup_scales.csv", delimiter = ",",                     skip_header = 1)minzooms = data[:,0]maxzooms = data[:,1]
随时随地看视频慕课网APP

相关分类

Python
我要回答