首页 > 解决方案 > 从 SQL Server 获取大量数据的 JSON 解码错误 - Python

问题描述

我正在尝试requests通过查询文件使用 Python 中的模块从 SQL 服务器获取数据php,这是我的代码:

import requests

# api-endpoint
URL = "https://*******.co.in/******/queryRandom.php"

# location given here
token= '******************'

    query2= 'SELECT userId,dateTime FROM storeActivity WHERE dateTime >= "2018-07-01"'

    # defining a params dict for the parameters to be sent to the API
    PARAMS = {'token':token, 'query':query2}

    # sending get request and saving the response as response object
    r2 = requests.post(url = URL, data = PARAMS)

    data2=r2.json()
    df2=pd.DataFrame(data2)
    df2=df2.ix[df2['userId']!=1]
    df2=df2.ix[df2['userId']!=0]
    df2.head(1)

数据框的形状是(573315, 2)。但我想要它过去 3 个月,所以我将其更改query2query2= 'SELECT userId,dateTime FROM storeActivity WHERE dateTime >= "2018-05-01"',但不幸的是我收到了这个错误:

---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
<ipython-input-17-69c7bfbb6dca> in <module>()
      7 r2 = requests.post(url = URL, data = PARAMS)
      8 
----> 9 data2=r2.json()
     10 df2=pd.DataFrame(data2)

当我通过从 SQL 服务器导出离线下载时,csv我能够将其加载到我的笔记本中。它的形状为(1052365,2)。那么这个错误是因为数据的大小而发生的吗?或者我是否需要对我的代码或该queryRandom.php文件进行任何更改?

标签: phpjsonsql-serverpython-3.xpandas

解决方案


推荐阅读