You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python代码运行输出的JSON结果导出为CSV文件

实现CSV导出的代码修改方案

现有代码问题修复

现有代码本身存在几处逻辑错误,需先修正才能正常获取接口数据:

  • 接口请求函数中f字符串拼接错误,CLIENT_SECRET变量拼写为错误的CLIENT_SECRECT,导致变量无法正确替换到请求地址中
  • 四次接口请求的结果被反复覆盖,仅会保留最后一次请求的返回数据
  • 末尾两行response_api = requests.get(data)逻辑错误,此时data已经是接口返回的字典结构,不需要重复发起请求

需补充的核心逻辑

在修复上述问题的基础上,补充3部分逻辑即可实现CSV导出:

  1. 定义容器存储所有位置的场地查询结果,避免数据被覆盖
  2. 解析返回的JSON结构,提取response.venues下的场地明细字段,可按需选择要导出的字段
  3. 调用pandas内置的to_csv()方法将结构化数据导出为CSV文件

修改后完整可运行代码

import requests
import pandas as pd

payload = {}
headers = {}

CLIENT_ID = "****"
CLIENT_SECRET = "****"
TOKEN = "****"

# 把所有查询坐标存入列表方便循环调用
ll_list = [
    "18.036442,42.492103",
    "18.036808,42.117917",
    "18.458814,42.485903",
    "18.453989,42.115408"
]

def make_request(payload, headers, ll, CLIENT_ID,CLIENT_SECRET, TOKEN):
    # 修正f字符串写法和变量拼写错误
    url = f"https://api.foursquare.com/v2/venues/search?client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&token={TOKEN}&ll={ll}&intent=browse&radius=10000&v=20210927"
    response = requests.request("GET", url, headers=headers, data=payload)
    return response.json()

# 定义空列表存储所有场地数据
all_venues = []
for ll in ll_list:
    res_data = make_request(payload, headers, ll, CLIENT_ID, CLIENT_SECRET, TOKEN)
    # 提取场地数据,可根据需求调整要提取的字段
    if "response" in res_data and "venues" in res_data["response"]:
        venues = res_data["response"]["venues"]
        for v in venues:
            venue_info = {
                "场地ID": v["id"],
                "场地名称": v["name"],
                "纬度": v["location"]["lat"],
                "经度": v["location"]["lng"],
                "地址": v["location"].get("address", ""),
                "分类": v["categories"][0]["name"] if v["categories"] else ""
            }
            all_venues.append(venue_info)

# 转DataFrame导出为CSV
df = pd.DataFrame(all_venues)
# index=False表示不导出pandas默认的行号,encoding用utf_8_sig避免打开CSV时乱码
df.to_csv("foursquare场地查询结果.csv", index=False, encoding="utf_8_sig")

运行代码后会在当前脚本同级目录生成名为foursquare场地查询结果.csv的文件,你可以根据实际需求调整venue_info中要提取的字段。

内容的提问来源于stack exchange,提问作者hestaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:45:02