索引器使用不同索引器的行数超出范围时

2024-10-02 10:30:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在运行一个脚本来对一些地址进行地理编码。我使用了一个输入文件(12行),它工作得很好,但是当我使用另一个相同格式的输入文件(25行)时,它会抛出这个错误,生成的输出文件只包含12行行:-在

Traceback (most recent call last):
  File "C:\python_scripts\geocoder_new\geocoder\example_input_and_output\geocoder.py", line 19, in     <module>
    r = geocode(line)
  File "C:\python_scripts\geocoder_new\geocoder\example_input_and_output\geocoder.py", line 8, in     geocode
    info = json.loads(data).get("results")[0].get("geometry").get("location")
IndexError: list index out of range

代码是以下:在

^{pr2}$

12的输入文件线路:-在

Kg Sg Nibong,Lubuk,Semerah,Parit Sulong,Batu Pahat,Johor
Kg Parit Bentong,Spg Kiri,Sri Medan,Parit Sulong,Batu Pahat,Johor
Ldg B-1, Yong Peng,Tg Semberong,Yong Peng,Ayer Hitam,Batu Pahat,Johor
Kg Sri Belahan,Sg Kluang,Rengit,Batu Pahat,Batu Pahat,Johor
Parit Besar,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor
Spg Tiga Bagan,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor
Parit Besar,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor
Parit Selulon,Linau,Parit Yaani,Sri Gading,Batu Pahat,Johor
Parit Khalil,Sri Gading,Semarang,Ayer Hitam,Batu Pahat,Johor
Kg Parit Dalam,Sri Medan,Sri Medan,Parit Sulong,Batu Pahat,Johor
Kg Parit Jatuh,Tg Semberong,Yong Peng,Ayer Hitam,Batu Pahat,Johor
Parit Besar,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor

25的输入文件线路:-在

LOT PT NO.1769, KAWASAN MIEL, PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN,
KM 13, KAMPUNG BUKIT TEMBAKAU, UMBAI, 77300 MERLIMAU, MELAKA,JASIN,MELAKA,
RUMAH SEMBELIH SHAH ALAM, JALAN UTAS 15/7, 40630 SHAH ALAM, SELANGOR DARUL     EHSAN.,PETALING,SELANGOR
14 JALAN 3 HOUSING TRUST 30250 IPOH PERAK,GOMBAK,SELANGOR
LOT PT NO.1769, KAWASAN MIEL, PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN,
RUMAH SEMBELIH SHAH ALAM, JALAN UTAS 15/7, 40630 SHAH ALAM. SELANGOR DARUL     EHSAN.,PETALING,SELANGOR,
LOT PT NO 1769, KAWASAN MIEL, PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN,
5629, RUMAH MURAH, JLN KOLAM AIR, 78000 ALOR GAJAH, MELAKA,ALOR GAJAH,MELAKA,
14 JALAN 3 HOUSING TRUST 30250 IPOH PERAK,GOMBAK,SELANGOR
LOT PT NO.1769 KAWASAN MIEL, PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN,,
LOT PT NO 1769 KAWASAN MIEL PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN
RUMAH SEMBELIH SHAH ALAM, JALAN UTAS 15/7, 40630 SHAH ALAM, SELANGOR DARUL     EHSAN.,PETALING,SELANGOR
LOT PT NO.1769, KAWASAN MIEL, PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN,
89 tanjong keramat kuala selangor selangor,HULU SELANGOR,SELANGOR
LOT PT NO.1769 KAWASAN MIEL, PEDAS HALAL PARK,REMBAU,NEGERI SEMBILAN,,
PT 11883, DESA CEMPAKA 6/2G, BANDAR BARU NILAI, NEGERI SEMBILAN.,GOMBAK,SELANGOR
LOT 9, KAMPUNG BUKIT MARAK BANGGU, 16150 KOTA BHARU, KELANTAN,KOTA BHARU,KELANTAN
NO.20, JALAN 4/4, PETALING JAYA, SELANGOR,GOMBAK,SELANGOR
33, MAIN ROAD, 43900 SEPANG, SELANGAR. ,HULU SELANGOR,SELANGOR
NO.20, JALAN 4/4, PETALING JAYA, SELANGOR,GOMBAK,SELANGOR
RUMAH SEMBELIH SHAH ALAM, JALAN UTAS 15/7, 40630 SHAH ALAM, SELANGOR DARUL     EHSAN.,PETALING,SELANGOR
302-D, TMN BUKIT BARU, BUKIT BERUANG, 75450 MELAKA,MELAKA TENGAH,MELAKA
H.KUAN ENT. KUALA PILAH,NEGERI SEMBILAN,KUALA PILAH,NEGERI SEMBILAN,,
H.KUAN ENT JLN CHANGKAT JERING BT 8,SEGARI PERAK,MANJUNG,PERAK,,
29 LOT 3229 TAMAN BONDA PAYA JARAS DALAM SUNGAI BULOH SELANGOR,PETALING,SELANGOR

12线输出文件:-在

ADDRESS GPS
Kg Sg Nibong,Lubuk,Semerah,Parit Sulong,Batu Pahat,Johor    NIL, NIL
Kg Parit Bentong,Spg Kiri,Sri Medan,Parit Sulong,Batu Pahat,Johor   NIL, NIL
Ldg B-1, Yong Peng,Tg Semberong,Yong Peng,Ayer Hitam,Batu Pahat,Johor   NIL, NIL
Kg Sri Belahan,Sg Kluang,Rengit,Batu Pahat,Batu Pahat,Johor NIL, NIL
Parit Besar,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor NIL, NIL
Spg Tiga Bagan,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor  NIL, NIL
Parit Besar,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor NIL, NIL
Parit Selulon,Linau,Parit Yaani,Sri Gading,Batu Pahat,Johor NIL, NIL
Parit Khalil,Sri Gading,Semarang,Ayer Hitam,Batu Pahat,Johor    NIL, NIL
Kg Parit Dalam,Sri Medan,Sri Medan,Parit Sulong,Batu Pahat,Johor    NIL, NIL
Kg Parit Jatuh,Tg Semberong,Yong Peng,Ayer Hitam,Batu Pahat,Johor   NIL, NIL
Parit Besar,Bagan,Semerah,Parit Sulong,Batu Pahat,Johor NIL, NIL

25行文件的输出是一个空的csv文件。在

我总共有7000个地址到地理编码,所以把地址分成12个地址的文件会很麻烦。在

任何帮助都将不胜感激。谢谢!在


Tags: 文件lotnilkgsrinegerijohorpahat
1条回答
网友
1楼 · 发布于 2024-10-02 10:30:12

这意味着json.loads(data).get("results")在索引0上没有项,即它是空的。在

尝试使用失败行中的变量请求API url。很可能谷歌找不到那个地址的坐标

尝试将结果列表放入变量中,然后检查它是否为空:

比如:

results = json.loads(data).get("results")
if results:
    info = results[0].get("geometry").get("location")
else:
    print "no results"

相关问题 更多 >

    热门问题