小编eam*_*234的帖子

使用Python从KML BatchGeo文件中提取坐标

我已经将一些地址上传到BatchGeo并下载了生成的KML文件,我想从中提取坐标.我设法美化冗杂的文本文件在线在这里,但我不知道如何分析它以提取坐标.

<?xml version="1.0" ?>
<kml xmlns="http://earth.google.com/kml/2.0">
    <Document>
        <Placemark>
            <name>...</name>
            <description>....</description>
            <Point>
                <coordinates>-3.1034345755337,57.144817425039,0</coordinates>
            </Point><address>...</address>
            <styleUrl>#0</styleUrl>
        </Placemark>
    </Document>
</kml>
Run Code Online (Sandbox Code Playgroud)

似乎有几个用于python的kml库,但在文档方面并不多(例如pyKML).使用本教程,我已经做到了这一点并创建了一个'lxml.etree._ElementTree'对象,但我不确定它的属性:

from pykml import parser

kml_file = "BatchGeo.kml"

with open(kml_file) as f:

    doc = parser.parse(f)

coordinate = doc.Element("coordinates")
print coordinate
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

AttributeError: 'lxml.etree._ElementTree' object has no attribute 'Element'
Run Code Online (Sandbox Code Playgroud)

那么如何获得坐标列表呢?谢谢.

python lxml geocoding kml

5
推荐指数
1
解决办法
8334
查看次数

BeautifulSoup 查找 xml 标签

我已经得到了我检索使用快餐店一些OSM数据XAPI,和这里是一些示例结果:

<osm version="0.6" generator="Osmosis SNAPSHOT-r26564">
   <node id="486275964" version="4" timestamp="2010-05-03T08:21:42Z" uid="12055" user="aude" changeset="4592597" lat="38.8959533" lon="-77.0212458">
      <tag k="name" v="Potato Valley Cafe"/>
      <tag k="amenity" v="fast_food"/>
   </node>
   <node id="486275966" version="4" timestamp="2010-08-06T16:44:13Z" uid="207745" user="NE2" changeset="5418228" lat="38.8959399" lon="-77.0196338">
      <tag k="cuisine" v="burger"/>
      <tag k="name" v="McDonald's"/>
      <tag k="amenity" v="fast_food"/>
   </node>
   <node id="612190923" version="1" timestamp="2010-01-12T14:01:27Z" uid="111209" user="cov" changeset="3603297" lat="38.893683" lon="-77.0292732">
      <tag k="level" v="-1"/>
      <tag k="cuisine" v="sandwich"/>
      <tag k="name" v="Quizno's"/>
      <tag k="amenity" v="fast_food"/>
   </node> 
</osm>
<!--corrected indentation-->
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 python 中使用 BeautifulSoup 从中提取经纬度、名称和美食。我可以使用此代码获得经纬度没有问题:

soup = BeautifulSoup(results)
takeaways …
Run Code Online (Sandbox Code Playgroud)

python xml beautifulsoup openstreetmap

4
推荐指数
1
解决办法
1万
查看次数

Python除以零错误

我在python中有一个Class,具有以下属性:

    self.number1 = 0
    self.number2 = 0
    self.divided = self.number1/self.number2
Run Code Online (Sandbox Code Playgroud)

这当然会抛出零误差:

ZeroDivisionError:整数除法或模数为零

这个想法是我稍后会增加number1和number2,但是self.divided会自动更新吗?如果是自动更新,那么如何解决零错误?谢谢.

python divide-by-zero

4
推荐指数
2
解决办法
2万
查看次数

使用Python刮擦Ajax

我正在尝试获取此网站表格中的数据,该网站在页面加载后通过jquery更新(我有权限):

http://whichchart.com/

我目前使用selenium和beautifulsoup来获取数据,但是因为这些数据在html源代码中不可见,所以我无法访问它.我试过PyQt4但它同样没有获得更新的html源代码.

这些值在firebug和chrome开发人员中可见,所以有没有任何python包可以利用它并将其提供给beautifulsoup?

我不是一个庞大的技术人员,所以我想要一个可以在Python或下一个最简单的软件类型中运行的解决方案.

我知道我可以通过专有的"屏幕刮板"软件获得它,但这很昂贵.

python selenium screen-scraping beautifulsoup pyqt4

3
推荐指数
1
解决办法
2642
查看次数

带数据库迁移的云运行

我想在云运行入口点(例如 php artisan migrate)中运行数据库迁移,以避免在升级修订之前必须使用外部工具来运行这些。

在 kubernetes 中,此功能可以通过在部署上运行 init 容器并将 max Surge 设置为 1 来实现,以确保只有一个 pod 在推出到其他容器之前尝试迁移。

CloudRun 的推出策略是否在任何地方定义?如果 CloudRun 等待修订中的一个容器运行良好,然后再进行批发,这将是很好的,这将满足此目的(尽管如果多个容器尝试迁移,postgres 事务性 DDL 的问题还不算太糟糕)。我认为这是我观察到但不确定的行为。

有没有比在每个入口点运行迁移更好/低维护的方式来运行迁移?

google-cloud-run

3
推荐指数
1
解决办法
1127
查看次数

正则表达式非ASCII字符

我在python中使用正则表达式时遇到了一些麻烦.html字符串是:

html = <td style="padding-right:5px;">
<span class="blackText">Above £ 7.00 = </span>
</td>
<td>
<span class="blackText">
<p>Free</p>
</span>
</td>
Run Code Online (Sandbox Code Playgroud)

我想提取"7.00"和"Free",但以下不起作用:

amount = re.findall(r'Above£(.*?)=',html)

Python会为£符号抛出非ASCII错误.我怎么能绕过这个?谢谢.

python regex

2
推荐指数
1
解决办法
534
查看次数

Python从unicode列表中删除选项卡和托架行

我已经看过以前对此的答案(python如何从字符串或列表中删除此n,从列表删除列表项,python删除字符串中的空格)但无法使解决方案起作用.

我有一个包含单个元素的列表,如下所示:

list = [u'\r\n\r\n\r\n            \r\n                \r\n                    \r\n                    123 Main St., Peoria\r\n                \r\n\r\n            \r\n             |\r\n             \r\n                    \r\n                        \r\n                            \r\n                            123-456-789\r\n                        \r\n                    \r\n            \r\n        ']
Run Code Online (Sandbox Code Playgroud)

它有一个地址和一个电话号码,我想要的只是返回的是:

123 Main St., Peoria;123-456-789
Run Code Online (Sandbox Code Playgroud)

我试过像这样的东西:

str(list).strip(' \r\n\t')
Run Code Online (Sandbox Code Playgroud)

str(list).replace('\r','')
Run Code Online (Sandbox Code Playgroud)

但它们不起作用,所以我想也许这是一个unicode问题?我该如何解决这个问题?

python unicode str-replace

0
推荐指数
1
解决办法
6146
查看次数