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

使用Pandas DataFrame将JSON数据转为电子表格时遇问题求助

解决币安交易记录处理的常见问题

看起来你在处理币安交易记录的时候卡壳了,我帮你梳理下代码里可能踩的坑,一步步来调整:

先排查依赖与基础问题

首先得确保你导入了所有需要的模块,不然代码会直接报错:

import json
import pandas as pd
from pandas import json_normalize
# 别忘了币安客户端模块
# from binance.client import Client

分析你代码里的几个核心问题

  1. JSON转DataFrame的嵌套处理
    币安get_my_trades返回的交易数据包含不少嵌套字段,直接用默认的json_normalize可能会丢失深层数据或者格式混乱。可以调整成更稳妥的写法:
# 获取交易记录
trade = client.get_my_trades(symbol=ticker)
# 标准化JSON,自动识别顶层字段(如果有深层嵌套,可添加record_path参数指定路径)
json_normalised = json_normalize(trade)
print("Normalised JSON\n", json_normalised)
  1. 文件读取的逻辑错误
    你代码里的pandas.read_json("logs.xls...明显有问题:一是路径没写完整,二是.xls是Excel格式,read_json根本读不了!如果要保存交易数据,直接把标准化后的DataFrame导出就行:
# 直接导出为Excel文件,不用绕弯转JSON
json_normalised.to_excel("trade_records.xlsx", index=False)
# 如果是读取已有的Excel文件,要改用:
# df = pd.read_excel("trade_records.xlsx")
  1. 变量覆盖的冗余操作
    你最后一行json_normalised = DataFrame(pandas.read_json(...把之前标准化好的DataFrame给覆盖了,前面的工作直接白费。逻辑上要理清顺序:先获取数据→标准化→保存/输出,不要随便覆盖变量。

修正后的完整示例代码

import json
import pandas as pd
from pandas import json_normalize
from binance.client import Client

# 初始化币安客户端(记得替换成你的API密钥)
client = Client(api_key='你的API_KEY', api_secret='你的API_SECRET')
ticker = "IOSTBTC"

# 获取交易对的所有交易记录
trade = client.get_my_trades(symbol=ticker)
print("原始交易数据:")
print(json.dumps(trade, indent=4, ensure_ascii=False))

# 标准化JSON为表格格式
json_normalised = json_normalize(trade)
print("\n标准化后的表格数据:")
print(json_normalised)

# 导出为Excel文件
json_normalised.to_excel("iostbtc_trade_records.xlsx", index=False)
print("\n交易记录已成功导出到Excel文件!")

如果还是有问题,你可以告诉我具体的报错信息(比如API调用失败、字段缺失还是文件导出报错),这样能更快定位问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:10:01