【发布时间】:2021-09-16 12:12:15
【问题描述】:
我正在尝试将一些 .json 数据从 API 写入 CSV 文件
我的代码:
from binance.client import Client
import config
import pandas as pd
import pandas_datareader as web
from pandas_datareader import data as dreader
client = Client(config.apiKey,config.apiSec)
print("Logged in")
symbol = 'BTCUSDT'
klines = client.get_historical_klines(symbol, Client.KLINE_INTERVAL_1WEEK, "1 Jan, 2017")
print(klines)
df = pd.read_json(klines)
df.to_csv(r'path')
错误:
Traceback(最近一次调用最后一次): 文件“\OneDrive\Knowledge\Python\Binance API new\BTC-price-get.py”,第 19 行,在 df = pd.read_json(klines) 包装器中的文件“\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\util_decorators.py”,第 199 行 返回函数(*args,**kwargs) 包装器中的文件“\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\util_decorators.py”,第 296 行 返回函数(*args,**kwargs) 文件“\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\json_json.py”,第 593 行,在 read_json filepath_or_buffer, _, 压缩, should_close = get_filepath_or_buffer( 文件“\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\common.py”,第 243 行,在 get_filepath_or_buffer 引发 ValueError(味精) ValueError:无效的文件路径或缓冲区对象类型:
PS \Python>
【问题讨论】:
-
klines显然是一个列表...你为什么要尝试使用pd.read_json??? -
为什么要涉及熊猫??
-
有什么替代方案?
-
使用标准库
csv模块。注意,我认为你使用的库已经反序列化了 json,所以你甚至不需要json模块。 -
谢谢。我现在使用常规 csv 模块解决了它
标签: python export-to-csv binance