Python CSV Robinhood

时间:2018-10-26 07:11:13

标签: python-3.x csv

我正在尝试使用Python 3.6在Windows 10系统上从此链接运行代码:https://github.com/joshfraser/robinhood-to-csv,但我一直遇到以下错误:

Traceback (most recent call last):
  File "csv-export.py", line 46, in <module>
    logged_in = robinhood.login(username=username, password=password)
  File "C:\Users\rebel\Desktop\Robinhood\robinhood-to-csv-master\Robinhood.py", line 81, in login
    res = res.json()
  File "C:\Users\rebel\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Users\rebel\AppData\Local\Programs\Python\Python36-32\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\rebel\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\rebel\AppData\Local\Programs\Python\Python36-32\lib\json\decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我真的不确定这里可能出什么问题。任何帮助表示赞赏。谢谢。

2 个答案:

答案 0 :(得分:1)

JSONDecodeError: Expecting value: line 1 column 1 (char 0)表示服务器返回空响应,因为JSON解码器期望第一个字符处有一个值,但没有任何值。服务器端可能出了点问题,因此它没有返回任何内容。您应该使用调试器检查响应对象res的{​​{3}},以了解问题的本质。

答案 1 :(得分:0)

以下代码将获取您的Robinhood保留并将其写入CSV文件。

首先导入一些python软件包:

pip install pandas
pip install robin-stocks

这是代码:

import config
import datetime
import pandas as pd
import robin_stocks as r

username = 'john@example.com'
password = 'PASSWORD'

today = datetime.date.today()

ordered_columns = [
    'name',
    'quantity',
    'price',
    'average_buy_price',
    'percent_change',
    'equity',
    'type',
    'percentage'
]

login = r.login(config.robinhood_username, config.robinhood_password)
df = pd.DataFrame.from_dict(r.build_holdings())
transpose = df.T
transpose = transpose.drop(['id', 'equity_change', 'pe_ratio'], axis=1)
transpose = transpose.sort_index()
transpose.to_csv(f'robinhood-{today}.csv', header=True, columns=ordered_columns, index=True)