获取CoinMarketCap列出货币的价格历史记录

cmctestingthree的Python项目详细描述


CoinMarketCap历史刮刀


内容

以csv格式获取coinmarketcap所列加密货币的CoinMarketCapUSD price history数据。

将此库用作命令行脚本以动态获取历史加密货币数据,或导入库以获取程序的加密货币数据。

安装

下载zip文件或导航到所需的安装目录并运行:

$ git clone https://github.com/Alescontrela/coinmarketcap-history.git

要安装所需的依赖项,请导航到repo并运行:

$ pip install -r requirements.txt

用法

命令行

除此之外,这对美国的税务报告非常有用。如果你想知道交易(或通过采矿获得的硬币)的成本基础,国税局要求你以美元计价。如果是代币交易(如用BTC购买ETH),则需要知道交易时的美元:BTC汇率。

令人惊讶的是,截至2017年10月,在网上任何地方以机器可读格式获取这些数据都不容易。

美国国税局的标准(至少在类似的情况下是w/股票)是使用股票当天的高、低价格的平均值,而不是在交易的确切时刻得到汇率,这通常是不可行的。coinmarketcap没有提供这个数字,但是这个工具计算这个数字并将其包含在输出中。

命令行用法

在终端中,导航到repo目录并运行:

$ python coinmarketcap.py <currency1> <start_date> <end_date>

其中:

  • currency是coinmarketcap上显示的货币/标记的(不区分大小写)名称,用破折号代替空格
  • start_date是以yyyy-mm-dd格式获取数据的范围的开始。例如,2017-10-01(2017年10月10日)
  • end_year是以yyyy-mm-dd格式获取数据的范围的末尾。您可以在将来使用日期来获取最新数据。格式与开始日期相同。

多种加密货币的数据可通过以下方式获得:

$ python coinmarketcap.py <currency_1,currency_2,...,currency_n> <start_date> <end_date>

注意:货币必须用逗号分隔,中间不能有空格。

也可以通过运行以下命令找到上述信息:

$ python coinmarketcap.py -h

通过运行将输出写入文件:

$ coinmarketcap.py <currency> <start_date> <end_date> > <output_filename>

命令行示例

为一种加密货币收集数据:

$ python coinmarketcap.py bitcoin 2017-01-01 2017-12-31

为多种加密货币收集数据:

$ python coinmarketcap.py bitcoin,ripple,ethereum 2017-01-01 2017-12-31

将输出写入文件:

$ python coinmarketcap.py bitcoin 2017-01-01 2017-12-31 > bitcoin_prices.csv

将多个加密货币的输出写入文件:

$ python coinmarketcap.py bitcoin,ripple,ethereum 2017-01-01 2017-12-31 > bitcoin_ripple_ethereum_prices.csv

模块

您还可以将coinmarketcap.py用作其他python模块中的模块,以获取具有加密货币历史记录的pandas数据帧。

首先,您可能需要通过如下命令添加到sys.pathcoinmarketcap_usd_history.py的路径:

sys.path.append(<path_to_coinmarketcap_usd_history.py_parent_folder>)

(或者,只需将coinmarketcap_usd_history.py文件移动到include模块的目录即可。)

其次,导入模块:

import coinmarketcap_usd_history

最后执行此操作以获取数据帧:

df=coinmarketcap_usd_history.main(['bitcoin','2017-01-01','2017-12-31','--dataframe'])

如果您只想将csv输出作为字符串返回到另一个python模块,只需省略'--dataframe'参数。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从ImageIO中排除特定的TIFF读取器?   JavaJMockit和passbyreference。我们中一定有一个人错了(可能是我!)   java Android camera2放弃了牛轧糖的表面,但在棉花糖上工作   java按字符串中出现的顺序对字符数组进行排序   如何获取Groovy生成的java源代码   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java为什么我的冒泡排序代码会打印出这些奇怪的东西?   java JAXB:typesafeEnumMemberName=“generateName”是否可自定义?   Java编程输入:今天是星期天输出:星期天是今天   java不理解首个OOAD书的吉他示例   java如何从JformattedTextfield检索货币格式值   java可以从相同的源代码生成功能不同的可执行文件吗?