Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将网站JSON数据转换为CSV python,返回JSON解码错误_Python_Json_Csv - Fatal编程技术网

将网站JSON数据转换为CSV python,返回JSON解码错误

将网站JSON数据转换为CSV python,返回JSON解码错误,python,json,csv,Python,Json,Csv,我正在尝试使用以下代码将保存在文件中的URL:处的JSON转换为CSV: json_data_file = open('TTT json', 'r') content = json.load(json_data_file) csv_results = csv.writer(open("TTT_results.csv.csv", "w", newline='')) for item in content: print(item) csv_re

我正在尝试使用以下代码将保存在文件中的URL:处的JSON转换为CSV:

json_data_file = open('TTT json', 'r')
content = json.load(json_data_file)
csv_results = csv.writer(open("TTT_results.csv.csv", "w", newline=''))
for item in content:
    print(item)
    csv_results.writerow(item)
这将返回:
json.decoder.JSONDecodeError:Expecting','delimiter:line 1 column 489351(char 489350)
,这是json
“ll”:43.529}的这一部分中的'2',{“aa”:


我对为什么会这样感到困惑。

看起来json格式不正确。您需要联系生成此json的人员进行修复

请参阅以下条目:

"cc": "Nick "Lionel" Berry(TriTalk)"

"cc": ""Sherpa" Dave (R&K Hyenas)"
这些引号没有正确转义。它必须是:

"cc": "Nick \"Lionel\" Berry(TriTalk)"

"cc": "\"Sherpa\" Dave (R&K Hyenas)"
在访问数据时,您可能请求了错误的接受编码。请通过指定您想要的是JSON响应而不是HTML负载来下载数据:

import requests

url = 'https://wtrl.racing/assets/js/miscttt170620.php?wtrlid=63'
headers = {'Accept': 'application/json'}

response = requests.get(url, headers=headers)
data = response.json()

看起来json格式不正确。您需要与生成此json的人员联系以进行修复

请参阅以下条目:

"cc": "Nick "Lionel" Berry(TriTalk)"

"cc": ""Sherpa" Dave (R&K Hyenas)"
这些引号没有正确转义。它必须是:

"cc": "Nick \"Lionel\" Berry(TriTalk)"

"cc": "\"Sherpa\" Dave (R&K Hyenas)"
在访问数据时,您可能请求了错误的接受编码。请通过指定您想要的是JSON响应而不是HTML负载来下载数据:

import requests

url = 'https://wtrl.racing/assets/js/miscttt170620.php?wtrlid=63'
headers = {'Accept': 'application/json'}

response = requests.get(url, headers=headers)
data = response.json()

啊,这是一个问题,我真的不能做任何关于如何改变它的想法,也许一个for循环有一个replace,我不确定从这里去哪里。@PythonIsBae检查更新的响应!如果你提供正确的标题,这一切都会起作用!我正要提到……从浏览器中,你会得到一个html页面,而没有正确的转义。如果你选择并如果你使用python的请求模块或wget或curl之类的命令行工具,你可以正确地获得json编码的内容。@因此,如果我运行该代码,我的CSV是
d,a,t,a
,如果我
打印(数据)
它返回
UnicodeEncodeError:“charmap”编解码器无法对169648-169649位置的字符进行编码:字符映射到
^我想这就是它无法正确写入csvAh的原因,这是一个问题,我真的无法做到这一点。关于如何更改它,可能是一个for循环,它有一个替换,我不确定从哪里开始我在这里。@PythonIsBae检查更新的响应!如果您提供了正确的标题,一切都会正常!我想说的是……从浏览器中,您会得到一个html页面,但没有正确的转义。如果您选择并保存所谓的json数据,您会收到错误。但是如果您使用python的请求模块或命令行工具(如wget或curl),您会得到json en正确编码的东西。@flakes因此,如果我运行该代码,我的CSV是
d,a,t,a
,如果我
print(data)
它返回
unicodeincodeerror:“charmap”编解码器无法对169648-169649位置的字符进行编码:字符映射到
^我假设这就是它不能正确写入CSV的原因