使用 Python 读取 CSV 文件的值
Reading values for CSV file using Python
我在从下面的 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 ,
我曾使用行拆分但又恢复为尝试从行中获取项目
不确定这是否是最好的方法
这不是您阅读 csv 文件的方式。
看看 csv module documentation.
一个例子:
import csv
with 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,它将使用您的 header 行生成字典。
import csv
with 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))
你可以试试numpy.genfromtxt,比如:
import numpy as np
data = np.genfromtxt("C:/Marine/lookup/distinct_lookup_scales.csv", delimiter = ",",
skip_header = 1)
minzooms = data[:,0]
maxzooms = data[:,1]
我在从下面的 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 ,
我曾使用行拆分但又恢复为尝试从行中获取项目 不确定这是否是最好的方法
这不是您阅读 csv 文件的方式。 看看 csv module documentation.
一个例子:
import csv
with 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,它将使用您的 header 行生成字典。
import csv
with 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))
你可以试试numpy.genfromtxt,比如:
import numpy as np
data = np.genfromtxt("C:/Marine/lookup/distinct_lookup_scales.csv", delimiter = ",",
skip_header = 1)
minzooms = data[:,0]
maxzooms = data[:,1]