2012-11-15 66 views
1

我已经开始学习python/matplolib/basemap,真的需要一些帮助。在python中绘制多行

我的数据是在Excel工作簿结构如下:

Event Number Date    Lat    LOn  Time (UTC) 
1    02/may    14,4   -98,9  0145 
           15,6   -99,9  0215 
           13,6   -100,9  0245 
           14,9   -108,8  0315    

2    26/may    15,8   -89,7  1245 
           15,9   -90,8  1315 
           15,7   -98,9  1345 

... 

如何打开excel文件在Python?

我想绘制多条线加入每个事件的位置,有可能做到这一点?有任何想法如何做到这一点?

这个想法是绘制一个特定区域的轨迹,因为我的情况是墨西哥。

回答

2

要打开蟒蛇一个Excel文件,请参阅:here

这么说,我认为这是即使你只是将它保存为一个CSV文件更加容易,然后使用numpy.loadtxt但是打开,这可能需要一些重新格式化你的数据。您也可以始终构建自己的解析器并使用逗号作为空格分隔符。如果这是你的想法,让我知道,我可以告诉你如何做到这一点。

如果轴的经纬度,然后创建一个使用this

的纬度和经度和情节的数组一旦你创建你的纬度阵列和经度阵列,你的代码应该是这样的:

import matplotlib.pyplot as plt 
plt.figure() 
plt.plot(lat, longitude, 'r') 
+0

感谢您的评论。 我跟着你给我的建议,我遇到了一些错误。首先要试试这个: np.loadtxt数据=( '/家庭/ McIDAS /文件/数据-TRAC/trac_prueba.txt') 我得到以下错误: X.append(元组([CONV(VAL )for(conv,val)in zip(converters,vals)])) ValueError:无效文字为float():纬度 我猜这个错误是因为我的数据数组不对应numpy的数据结构,if这是正确的,因为我可以构造我的数据,以便我可以打开然后绘制,使用numpy和matplotlib库。 – user1345283

1

Pandas有加载Excel文件的功能,并且直接使用xlrd会稍微简单一些。或者,您可以将xls文件导出到csv并使用csv模块在python中读取它。