如何从excel读取数据并设置数据类型

时间:2014-11-16 04:03:29

标签: python arrays excel list types

我正在尝试从csv文件中读取纬度和经度数据,并使用harversine公式连续计算轴承。

我必须从一行中获取lat / lon然后计算下一行中lat / lon的方位。

我更新了代码,现在我收到了这个错误:

indexes = [x.index for x in self.objs]
AttributeError: 'numpy.float64' object has no attribute 'index'

我无法弄清楚如何将数据类型设置为浮点数组。我想知道是否有人可以帮我这个?谢谢。

更新...下面是工作代码。


import pandas as p
import numpy as np

bearingdata = 'xxxxxx.csv'
data = p.read_csv(bearingdata)

lat = [float(i) for i in data.Lat]
lon = [float(j) for j in data.Lon]

lat1 = lat[0: (len(lat) -2)]
lon1 = lon[0: (len(lon) -2)]
lat2 = lat[1: (len(lat) -1)]
lon2 = lon[1: (len(lon) -1)]

然后def().....

2 个答案:

答案 0 :(得分:1)

使用pyexcel,这项工作也可以轻松完成:

>>> import pyexcel as pe
>>> sheet = pe.load("xxxxx.csv")
>>> sheet.format(float)
>>> sheet.name_columns_by_row(0)
>>> lat = sheet.column["Lat"]
>>> lon = sheet.column["Lon"]
....# more processing here

答案 1 :(得分:1)

我只想重新迭代...下面是最终代码。

import pandas as p
import numpy as np

bearingdata = 'xxxxxx.csv'
data = p.read_csv(bearingdata)

lat = [float(i) for i in data.Lat]
lon = [float(j) for j in data.Lon]

lat1 = lat[0: (len(lat) -2)]
lon1 = lon[0: (len(lon) -2)]
lat2 = lat[1: (len(lat) -1)]
lon2 = lon[1: (len(lon) -1)]