我在使用python解析JSON时遇到了问题,现在我被卡住了.
问题是我的JSON实体并不总是一样的.JSON是这样的:
"entries":[
{
"summary": "here is the sunnary",
"extensions": {
"coordinates":"coords",
"address":"address",
"name":"name"
"telephone":"123123"
"url":"www.blablablah"
},
}
]
Run Code Online (Sandbox Code Playgroud)
我可以通过JSON,例如:
for entrie in entries:
name =entrie['extensions']['name']
tel=entrie['extensions']['telephone']
Run Code Online (Sandbox Code Playgroud)
问题来了,因为有时,JSON没有所有"字段",例如,telephone字段,有时会丢失,因此,脚本失败KeyError,因为此条目中缺少关键电话.
所以,我的问题是:我怎么能运行这个脚本,留下一个缺少电话的空白区域?我尝试过:
if entrie['extensions']['telephone']:
tel=entrie['extensions']['telephone']
Run Code Online (Sandbox Code Playgroud)
但我认为不行.
我正在尝试用python脚本中的CSV文件填充表格.
随后的SQL语句运行时没有错误:
COPY registro
FROM '/home/pablo/Escritorio/puntos/20140227.csv'
DELIMITER ','
CSV header;
Run Code Online (Sandbox Code Playgroud)
CSV具有标题,并使用header参数,导入时没有错误.
当我从我的python脚本执行它时,问题出现了.我发现不尝试导入标题的唯一方法是使用copy_expert()方法.我没有收到任何错误消息,但是在我运行下面的Python脚本后,表仍然是空的.
任何可能的线索?或者也许用其他任何方式从带有标题的CSV复制表格?
谢谢.
#/usr/bin/env python
# -*- coding: utf-8 -*-
import psycopg2
import os
import glob
DSN = "dbname=gps user=postgres host=localhost"
con = psycopg2.connect(DSN)
cur = con.cursor()
my_file = open('/home/pablo/Escritorio/puntos/20140227.csv')
#This is only a test file, not all the directory
sql = "COPY registro FROM stdin DELIMITER \',\' CSV header;"
cur.copy_expert(sql, my_file)
cur.close()
con.close()
Run Code Online (Sandbox Code Playgroud) 我正在尝试连接我的客户端(Macbook Pro)到位于同一网络中另一台PC的Postgres数据库(Ubuntu)我可以通过pgAdmin从主机看到数据库,连接到localhost,但是我看不到客户端.
我允许所有的连接pg_hba.conf和postgresql.conf
我正在尝试通过pgAdmin从客户端连接到存储数据库的IP服务器(192.168.1.34)和端口5432
我得到了这个错误
我做错了什么?
我错过了什么
看完建议后,我可以说:在ubuntu机器上(家庭测试服务器),我没有防火墙.Postgres正在运行.
我已经尝试从ubuntu控制台访问数据库:
psql -h 127.0.0.1 mydatabase postgres并且可以连接(这意味着服务器正在运行,用户名就可以了)但是如果我尝试从同一台机器访问同一个数据库,则用IP更改localhost ,我无法连接.我应该从服务器连接时不psql -h 127.0.0.1 mydatabase postgres一样psql -h 192.168.1.34 mydatabase postgres?
阿兰建议,也许是在环回中?
我正在尝试在 Xamarin 应用程序中反序列化 JSON。我已经阅读了很多关于,但仍然有问题,所以,也许这里有人可以提供帮助:
我的 JSON 响应是这样的:
{
"Events":[
{
"id":7,
"name":"show",
"datefrom":"2012-01-01",
"timeto":"12:00:00",
"price":"3",
"imagen":"null",
"desc":"rock band playing",
"info":"Info about tickets",
"user":1,
"place":9,
"dateto":"2013-02-02",
"timeto":"12:30:00",
"Eventcategories":[]
},
{"id":2, name:...
Run Code Online (Sandbox Code Playgroud)
正如我所读到的,我创建了两个类,一个用于对象(事件),另一个用于 JSON 响应(事件响应),第二个类只有一个事件列表:
public class EventResponse
{
public ObservableCollection<Event> Events { get; set; }
public EventResponse(){
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且 Event 类具有 JSON 返回的所有字段:
private int _id;
public int id {
get { return _id; }
set {
_id = value;
OnPropertyChanged ();
}
}
private string _nombre;
public string …Run Code Online (Sandbox Code Playgroud) 我正在尝试将该polyfill函数与 Python 的h3实现结合使用,但收到了意想不到的结果。
如果我使用具有固定分辨率的函数,我可以获得并显示如上所示的多边形网格。

但是当我想创建一个更精确的网格时,比如 Uber 为文档制作的网格:
我得到了奇怪的结果。
我使用与之前相同的方法创建了网格,但精度更高 (12),然后使用该compact函数尽可能地对六边形进行分组。
hexagons = h3.polyfill(json_poly, 8, False)
hex_com = h3.compact(hexagons)
Run Code Online (Sandbox Code Playgroud)
结果是这样,我可以看到一些未被任何六边形覆盖的区域。
关于为什么会发生这种情况的任何线索?
我使用的方法有问题吗?
我一直在网上寻找答案,但我没有找到任何我认为可能是一个简单问题的东西:
有没有办法从tweepy获得"空白"搜索?
例如,从位置获取所有推文.
我无法发送没有查询字段的查询:
query= tweepy.api.search(q="", rpp=1000)
Run Code Online (Sandbox Code Playgroud)
它返回:
tweepy.error.TweepError:您必须输入查询.
我正在寻找的是获取此查询,例如:
http://search.twitter.com/search.atom?geocode=38.376,-0.5,8km
从...获取所有推文