python解析网页上的json数据落地到EXCEL

安装必要的库

import requests
import pandas as pd
import os
import sys
import io
import urllib3
import json

测试数据

  • 网页上的数据结构如下
{
    "success": true,
    "code": "CIFM_0000",
    "encode": null,
    "message": "ok",
    "url": null,
    "total": 3,
    "items": [
        {
            "summaryDate": "20240611",
            "summaryType": "naturalDay",
            "workday": true,
            "newCustNum": 1,
            "haveCustNum": 1691627,
            "newAccountNum": 2,
            "haveAccountNum": 1692934,
            "totalShare": 4947657341.69,
            "netCash": -3523387.25,
            "yield": 0.01386
        },
        {
            "summaryDate": "20240612",
            "summaryType": "naturalDay",
            "workday": true,
            "newCustNum": 5,
            "haveCustNum": 1672766,
            "newAccountNum": 5,
            "haveAccountNum": 1674071,
            "totalShare": 4927109080.29,
            "netCash": -20735233.55,
            "yield": 0.01387
        },
        {
            "summaryDate": "20240613",
            "summaryType": "naturalDay",
            "workday": true,
            "newCustNum": 4,
            "haveCustNum": 1662839,
            "newAccountNum": 5,
            "haveAccountNum": 1664146,
            "totalShare": 4927405885.59,
            "netCash": 110659.8,
            "yield": 0.01389
        }
    ],
    "data": null,
    "info": null
}

详细逻辑代码

import requests
import pandas as pd
import os
import sys
import io
import urllib3
import json

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

url = "https://ip/ma/web/trade/dailySummary?startDate={pi_startdate}&endDate={pi_enddate}"
headers = {
   
   
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0",
}

def save_data(data, columns, excel_path, sheet_name):
    df = pd.DataFrame(data, columns=columns)
    if not os.path.exists(excel_path):
        df.to_excel(excel_path, sheet_name=sheet_name, index=False)
    else:
        with pd.ExcelWriter(excel_path, engine='openpyxl', mode='a') as writer:
            d
### 将EC数据导出并导入到Excel 对于将来自电子商务平台(EC)的数据导出至Excel的操作,通常涉及几个主要步骤。这些操作可以通过编程自动化完成,特别是利用Python及其丰富的库来简化流程。 #### 使用API接口获取EC数据 许多现代的电子商务平台提供RESTful API服务,允许开发者通过HTTP请求访问其内部资源。为了从EC系统中提取所需的信息,首先需要了解该平台支持哪些类型的查询以及如何构建有效的API调用来检索目标数据集[^1]。 一旦掌握了API文档中的细节,就可以编写脚本来定期抓取最新的销售记录、库存状态或者其他业务指标,并将其保存为结构化的JSON或CSV格式文件作为中间存储介质。 ```python import requests def fetch_ec_data(api_url, headers=None): response = requests.get(api_url, headers=headers) if response.status_code == 200: return response.json() else: raise Exception(f"Failed to retrieve data: {response.text}") ``` #### 数据格式以便于后续处理 当获得了原始形式的数据之后,下一步就是对其进行清理和换,使其更适合进一步分析或者展示需求。这可能涉及到日期时间戳解析、货币单位统一化等预处理工作。此外还需要考虑缺失值填补策略以确保最终得到高质量的结果集用于生成报告图表等功能模块开发。 最后一步则是选择合适的工具链来进行实际的Excel文件创建过程。这里推荐使用`pandas`配合`openpyxl`这两个强大的第三方包组合方案: - `pandas`: 提供高效便捷的数据框(DataFrame)对象模型,能够轻松加载多种外部源提供的表格型数据; - `openpyxl`: 支持读写`.xlsx`扩展名的新版Microsoft Office Open XML标准电子表格文件。 结合上述两个库的优势特性,可以方便地实现如下功能——即先将经过初步整理后的DataFrame实例存成临时性的CSV文本串流;再借助`to_excel()`方法指定具体的工作簿名称连同路径参数一并将内容持久化落地成为正式版本的目标产物。 ```python import pandas as pd data_frame = pd.DataFrame(ec_data) # Save DataFrame to an Excel file using openpyxl engine. output_file_path = 'ec_export.xlsx' data_frame.to_excel(output_file_path, index=False, engine='openpyxl') print(f'Data successfully exported to {output_file_path}') ``` #### 自动化与调度任务设置 考虑到日常运营维护的实际应用场景,建议建立一套完善的定时作业机制来周期性同步最新动态变化情况下的在线交易流水详情等内容更新进度条目。这样不仅有助于提高整体工作效率还能减少人为失误风险概率的发生几率。 综上所述,在掌握好相关技术要点的基础上完全可以做到无缝衔接各类异构信息系统之间的交互协作关系从而更好地服务于企业级用户的多样化诉求场景之中[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脸ル粉嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值