首页
web3.0
如何下载比特币历史价格数据(分步指南)

如何下载比特币历史价格数据(分步指南)

热心网友
转载
2025-09-27
来源:https://www.php.cn/faq/1558541.html?uid=1246273

目录
  • 如何以 Excel 或 CSV 格式下载比特币历史数据?
    • 如何从 CoinGecko 网站下载比特币历史数据
  • 如何使用 CoinGecko API 下载比特币历史数据?
    • 在 Google 表格或 Excel 中下载比特币历史数据(无需代码)
    • Google 表格
    • Microsoft Excel:
    • 使用 Python 下载比特币历史数据 
    • API 端点和 URL
    • 步骤 1:先决条件
    • 第 2 步:管理您的 API 密钥
    • 步骤 3:设置密钥检索和 API 调用
    • 步骤 4:测试 API 连接
    • 步骤5:获取比特币历史价格数据
    • 步骤 6:处理数据并将其下载到 Excel
  • 如何下载其他加密货币的历史数据
    • 未来发展
      • 结论

        比特币拥有悠久而丰富的交易历史,使其成为全球分析最多的资产之一。历史价格数据不仅仅是图表上的数字,更是回测策略、洞察市场周期、理解投资者行为,甚至驱动应用程序或研究工具的基础。可靠的数据有助于交易者验证决策,研究人员检验理论,开发者构建用户信赖的功能。

        2025虚拟币交易平台推荐:

        在本指南中,我们将介绍使用 CoinGecko 资源下载比特币历史价格数据的两种实用方法:

        • 直接从 CoinGecko 上的比特币页面导出(无需代码)。
        • 使用CoinGecko API在电子表格或代码中实现自动访问。

        最后,您将能够检索比特币的过去价格,无论您是需要快速的 CSV 文件进行分析还是需要为您的项目提供自动数据馈送。

        如何下载比特币历史价格数据(分步指南)

        如何以 Excel 或 CSV 格式下载比特币历史数据?

        下载比特币历史数据的最快方法是直接从 CoinGecko比特币历史数据页面下载。此方法非常适合需要 CSV 或 Excel 电子表格格式的数据进行快速一次性分析的用户,因为无需注册或登录账户。

        如果您需要更细粒度的数据,CoinGecko API 提供了/coins/{id}/market_chart和/coins/{id}/ohlc等端点,用于获取历史价格和 OHLC 数据。

        如何从 CoinGecko 网站下载比特币历史数据

        按照这些简单的步骤,只需单击几下即可下载数据。

        步骤 1:导航到 CoinGecko 上的比特币硬币页面,然后单击“历史数据”选项卡。

        第 2 步:从可用选项中选择所需的时间范围(例如,过去 7 天、30 天、1 年或自定义日期)。

        步骤 3:在数据表的右上角,单击下载图标,然后选择将数据下载为CSV或XLS文件,如下所示:

        如何下载比特币历史价格数据(分步指南)

        下载后,该文件可在任何电子表格软件(例如 Excel 或 Google Sheets)中打开。数据已预先格式化,并带有清晰的列标题(日期、市值、交易量、价格),方便您创建图表、运行计算或导入其他工具。

        以下是 Microsoft Excel 中导出数据的示例:

        如何下载比特币历史价格数据(分步指南)

        如何使用 CoinGecko API 下载比特币历史数据?

        对于可重复的工作流程、精确的时间窗口或可按需刷新的数据,CoinGecko API是理想的解决方案。它允许您将比特币的历史价格直接提取到电子表格或项目中,用于分析、仪表板或回测交易策略。

        使用 API 的主要方式有两种:

        • 无代码:将数据直接导入 Google 表格或 Excel。
        • 使用代码:使用 Python、JavaScript、PHP 等语言以编程方式获取数据。

        两种方法都需要 CoinGecko API 密钥。如果您没有,请按照本指南获取免费的演示 API 密钥。在本指南中,比特币的 API 币种 ID 很简单bitcoin

        在 Google 表格或 Excel 中下载比特币历史数据(无需代码)

        如果您更喜欢无代码方法,可以使用 CoinGecko API 将比特币的历史价格数据直接提取到 Google 表格或 Excel 中。这样,您无需任何编程即可分析、绘制图表和共享数据。

        Google 表格

        您可以使用免费的 API 连接器扩展来提取数据。

        安装 API 连接器:从 Google Workspace Marketplace 添加“Mixed Analytics 的 API 连接器”扩展。

        创建新请求:在扩展中,创建一个新请求并输入历史数据的 CoinGecko API 请求 URL:

        演示 API:

        https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=30&interval=daily&precision=full?x_cg_demo_api_key=YOUR_API_KEY

        专业 API:

        https://pro-api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=30&interval=daily&precision=full?x_cg_pro_api_key=YOUR_API_KEY

        运行请求:执行请求将数据拉入当前工作表并以所需的格式下载数据。

        要获得带有屏幕截图的详细演练,请阅读有关如何 将加密货币价格导入 Google 表格的完整指南。

        Microsoft Excel:

        Excel 内置的 Power Query 工具可以直接从 API 获取数据。

        打开 Power Query:在 Excel 中,转到“数据”选项卡并选择“来自 Web”。

        输入API URL:在对话框中输入API请求URL:

        演示 API:

        https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=30&interval=daily&precision=full?x_cg_demo_api_key=YOUR_API_KEY

        专业 API:

        https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=30&interval=daily&precision=full?x_cg_demo_api_key=YOUR_API_KEY

        转换和加载: Power Query 编辑器将打开,允许您将 JSON 响应转换为表格,然后将其加载到工作表中以供下载和导出。

        要获得带有屏幕截图的详细演练,请阅读有关如何 将加密货币价格导入 Excel 的完整指南。

        使用 Python 下载比特币历史数据 

        对于更高级或自动化的用例,您可以通过编程方式获取数据。CoinGecko API 兼容任何支持 HTTP 请求的语言,但本指南使用 Python,因为它在数据分析领域非常流行。

        API 端点和 URL

        Demo 和 Pro API 的基本 URL 为:

        • 演示 API: https://api.coingecko.com/api/v3
        • 专业 API: https://pro-api.coingecko.com/api/v3

        对于历史价格数据,我们将使用/coins/{id}/market_chart端点。此端点返回指定天数的价格、市值和 24 小时交易量。

        在本节中,我们将介绍如何使用 Python 获取比特币的历史价格数据。

        步骤 1:先决条件

        1、安装 Python

        从 python.org 下载。

        建议使用3.7或以上版本。

        通过在终端或命令提示符上运行以下命令来确认安装:

        python --version 

        2、创建虚拟环境

        这样可以使依赖项保持清晰且特定于项目。首先,在终端或命令提示符中运行以下命令来创建环境:

        python -m venv coingecko_env

        接下来,使用适合您的操作系统的命令激活它:

        • Windows: coingecko_env\Scripts\activate
        • macOS/Linux: source coingecko_env/bin/activate

        3、安装所需的软件包

        在您的环境中,安装以下软件包:

        • 请求:允许您的程序进行 API 调用(通过网络发送和接收数据)。
        • Pandas:一个强大的库,用于处理和组织表格数据。我们将用它来整理 API 输出。
        • Openpxyl:一个允许 Pandas 写入 Excel 工作簿的库。
        • Pathlib:一个方便的标准库工具,用于检查文件是否已经存在。

        pip install requests pandas openpxyl pathlib 

        4、检查软件包是否正确安装

        您可以通过运行以下命令来确认软件包是否已安装:

        pip show requests pandas

        第 2 步:管理您的 API 密钥

        为了保证您的 API 密钥安全并且与您的代码分开,请将其存储在外部 JSON 文件中。

        创建一个名为 api_keys.json 的文件并添加您的密钥,如下所示:

        {
          "x-cg-demo-api-key": "YOUR_DEMO_API_KEY",
          "x-cg-pro-api-key": "YOUR_PRO_API_KEY"
        }

        步骤 3:设置密钥检索和 API 调用

        安装先决条件并将 API 密钥安全地存储在适当的位置后,下一步是设置辅助函数 以确保:

        • 您的 API 密钥正在 正确加载。
        • 该程序可以成功与 CoinGecko API 通信。

        首先,我们将设置辅助函数来加载 API 密钥并向 CoinGecko API 发出请求。get_Response ()函数将处理 API 调用,并将端点、标头和参数作为参数。这种模块化方法使代码保持简洁且可重用。

        import json
        from pathlib import Path
        import requests as rq
        import pandas as pd
        import openpyxl  # required by pandas' ExcelWriter (engine="openpyxl")
        PUB_DEMO_URL = "https://api.coingecko.com/api/v3"
        PUB_PRO_URL  = "https://pro-api.coingecko.com/api/v3"
        def get_demo_key():
            # CHANGE the path if your file is elsewhere
            with open(r"YOUR_KEYS_FILE_PATH", "r", encoding="utf-8") as f:
                key_dict = json.load(f)
            return key_dict.get("x-cg-demo-api-key")
        def get_pro_key():
            with open(r"YOUR_KEYS_FILE_PATH", "r", encoding="utf-8") as f:
                key_dict = json.load(f)
            return key_dict.get("x-cg-pro-api-key")
        def get_response(endpoint, headers=None, params=None, base_url=None):
            if not base_url:
                raise ValueError("base_url is required (use PUB_DEMO_URL or PUB_PRO_URL).")
            url = f"{base_url}{endpoint}"
            resp = rq.get(url, headers=headers, params=params, timeout=30)
            resp.raise_for_status()
            return resp.json()

        专业提示:可在任何 API 请求中 重复使用get_Response()辅助函数。只需为每次调用提供特定的端点 (endpoint)、带有 Demo 或 Pro 键的标头 (headers )、 params和base_url作为参数即可。

        步骤 4:测试 API 连接

        在获取完整数据集之前,最好先测试一下你的设置。/ping端点是确认 API 密钥正常工作的简单方法。以下脚本会加载你的密钥,ping API,然后进行一次小型测试调用,以获取比特币的前两个数据点。

        # 0) Load key and show last 4 chars so we know it loaded
        key = get_Demo_key()
        print("Loaded demo key (last 4):", (key or "")[-4:])
        headers = {"accept": "application/json", "x-cg-demo-api-key": key}
        base_url = PUB_DEMO_URL
        # 1) Ping to Authenticate
        ping = get_Response("/ping", headers=headers, base_url=base_url)
        print("PING:", ping)
        # 2) A small real call
        params = {"vs_currency": "usd", "days": "7", "interval": "daily"}
        mc = get_Response("/coins/bitcoin/market_chart", headers=headers, params=params, base_url=base_url)
        print("First 2 prices:", mc.get("prices", [])[:2])

        如果一切正常,您应该会看到如下所示的响应:

        如何下载比特币历史价格数据(分步指南)

        步骤5:获取比特币历史价格数据

        现在,让我们使用/coins/{id}/market_chart端点来获取过去 7 天的历史数据。

        其作用:

        • 通过 get_Response()调用按 ID 端点的硬币历史图表数据。
        • 将 JSON 响应存储在 mc 中。
        • 确保定义key、headers、endpoint和params。
        key = get_Demo_key()
        headers = {"accept": "application/json", "x-cg-demo-api-key": key}
        base_url = PUB_DEMO_URL
        params = {"vs_currency": "usd", "days": "7", "interval": "daily"} #parameters to query upon, BTC daily data for the past 7 days
        mc = get_Response("/coins/bitcoin/market_chart", headers=headers, params=params, base_url=base_url )

        步骤 6:处理数据并将其下载到 Excel

        API 响应会以单独的列表形式返回价格、市值和交易量。以下代码会处理这些原始 JSON 数据,将其组合成干净的 Pandas DataFrame,并将其保存到 Excel 工作簿中的工作表中。如果该文件已存在,它将替换该工作表,以便轻松重新运行脚本。

        #Shape the data
        def series_to_df(series, value_col):
            df = pd.DataFrame(series, columns=["ts_ms", value_col])
            df["date"] = pd.to_datetime(df["ts_ms"], unit="ms")
            return df[["date", value_col]]
        df_price  = series_to_df(mc.get("prices", []),        "price_usd")
        df_mcap   = series_to_df(mc.get("market_caps", []),   "market_cap_usd")
        df_volume = series_to_df(mc.get("total_volumes", []), "volume_24h_usd")
        df = (
            df_price.merge(df_mcap, on="date", how="left")
                    .merge(df_volume, on="date", how="left")
                    .sort_values("date")
                    .reset_index(drop=True)
        )[["date", "price_usd", "market_cap_usd", "volume_24h_usd"]]
        # 3) Append to an existing workbook as a NEW sheet (or create if missing)
        from pathlib import Path
        out_path   = "crypto_market_data.xlsx"          # your master workbook
        sheet_name = "btc_7d_usd"                       # name the sheet for clarity
        if Path(out_path).exists():
            # Append; if the sheet already exists, REPLACE it (safer for reruns)
            with pd.ExcelWriter(out_path, engine="openpyxl", mode="a", if_sheet_exists="replace") as xw:
                df.to_excel(xw, index=False, sheet_name=sheet_name)
        else:
            # Create the workbook and write the first sheet
            with pd.ExcelWriter(out_path, engine="openpyxl") as xw:
                df.to_excel(xw, index=False, sheet_name=sheet_name)
        print(f"Saved sheet '{sheet_name}' in {out_path}")def series_to_df(series, value_col):
                df = pd.DataFrame(series, columns=["ts_ms", value_col])
                df["date"] = pd.to_datetime(df["ts_ms"], unit="ms")
                return df[["date", value_col]]
            df_price  = series_to_df(mc.get("prices", []),        "price_usd")
            df_mcap   = series_to_df(mc.get("market_caps", []),   "market_cap_usd")
            df_volume = series_to_df(mc.get("total_volumes", []), "volume_24h_usd")
            df = (
                df_price.merge(df_mcap, on="date", how="left")
                        .merge(df_volume, on="date", how="left")
                        .sort_values("date")
                        .reset_index(drop=True)
            )[["date", "price_usd", "market_cap_usd", "volume_24h_usd"]]
            out_path   = "crypto_market_data.xlsx"  # your master workbook
            sheet_name = "btc_7d_usd"               # rename as you like
            mode = "a" if Path(out_path).exists() else "w"
            with pd.ExcelWriter(out_path, engine="openpyxl", mode=mode, if_sheet_exists="replace") as xw:
                df.to_excel(xw, index=False, sheet_name=sheet_name)
            print(f"Saved sheet '{sheet_name}' in {out_path}")

        示例输出:

        如何下载比特币历史价格数据(分步指南)

        您可以通过更改以下变量来自定义输出:

        • value_col:重命名列(例如,“price_in_usd”)。
        • sheet_name:设置 Excel 工作表的显示方式(例如“btc_30d_eur”)。
        • out_path:选择用于保存 Excel 工作簿的文件名或文件夹。

        专业提示:在开发过程中,运行脚本时最好保持 Excel 文件关闭,以避免写入错误。

        如何下载其他加密货币的历史数据

        虽然本指南以比特币为例,但同样的方法也适用于 CoinGecko 上数千种其他加密货币。要获取其他加密货币的数据,只需在 API 调用中替换货币 ID(例如,将“比特币”更改为“以太坊”或“solana”)。

        您可以在CoinGecko 网站的任何单个硬币页面上找到 API ID  。

        如何下载比特币历史价格数据(分步指南)

        专业提示:币种 ID 区分大小写,多个币种可能使用相似的代码。为避免错误,请务必直接从 CoinGecko 网站或我们的 API 文档获取并使用正确的 ID 。

        未来发展

        通过访问历史数据,您可以构建各种强大的工具。对于想要进一步探索的读者,以下是一些相关指南:

        • 回测策略:使用历史数据通过我们的加密回测指南测试交易策略的性能。
        • 纸质交易机器人:通过构建加密纸质交易机器人在无风险环境中模拟交易。
        • 价格预测模型:应用机器学习技术来预测未来价格,并遵循我们关于构建比特币价格预测模型的指南。

        结论

        在本指南中,我们演示了两种从 CoinGecko 下载比特币历史数据的有效方法。从网站直接导出非常适合快速手动将数据提取到 CSV 或 Excel 文件中;而 CoinGecko API 则为使用 Google Sheets、Excel 或 Python 等工具的开发者和分析师提供了强大的编程解决方案。按照概述的步骤,您可以访问丰富的历史数据,以支持您的分析、回测策略以及构建 DeFi 应用程序。

        虽然本文中使用的端点可以通过免费的 Demo API 密钥访问,但它仅提供最多 365 天的历史数据。如果您需要访问自 2013 年以来更精细的数据,并享受更高的速率限制以及专属端点的访问权限,请考虑订阅套餐。

        免责声明

        游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

        同类文章

        BNX币购买指南:上架交易所盘点及风险提示

        BNX币是一种基于PoW机制的数字货币,矿工通过算力挖矿获得奖励。BNX币可在Hotbit、Bitforex等平台交易,但市值较小,历史价格表现不佳,投资风险较高,需谨慎评估。作为小众数字货币,BNX币的价格波动性大,投资BNX币需充分了解。

        2025-09-27.

        币安交易所网页登录币安Binance官网入口地址链接

        币安(Binance)是全球知名的数字资产交易平台之一,为用户提供广泛的加密货币交易服务,涵盖比特币(BTC)、以太坊(ETH)等多种主流数字货币。它凭借强大的技术支持、丰富的交易对和完善的安全体系,赢得了全球用户的信赖。

        2025-09-27.

        GENE币:基因科技赋能,未来价值几何?

        GENE币作为基因科技领域的数字新星,未来发展值得关注。它将基因科技与区块链结合,总量有限,具备稀缺性。基因科技的蓬勃发展为GENE币带来市场潜力,区块链技术保障其交易安全。但GENE币也面临监管不确定性、市场竞争和应用拓展等挑战,需积极应对,才能在基因科技生态中占据一席之地。

        2025-09-27.

        欧易交易所 OKX全球主流交易平台(官方网站)

        欧易(OKX)是一款全球领先的数字资产服务平台,为用户提供币币、杠杆、期权 交割 永续合约、DEX交易、余币宝、DeFi挖 矿、借贷等多元化的产品矩阵,覆盖超过200个国家和地区,拥有千万级用户量,致力于为全球用户提供一站式的数字资产服务。

        2025-09-27.

        注册芝麻开门时提示“该地区不支持服务”怎么办?

        注册芝麻开门时提示“该地区不支持服务”怎么办? 当你满怀期待地想要加入芝麻开门(Gate io)这个加密货币交易平台,却在注册时遇到“该

        2025-09-27.

        热门教程

        更多
        • 游戏攻略
        • 安卓教程
        • 苹果教程
        • 电脑教程

        最新下载

        更多
        棕色尘埃2国际服(BrownDust2)
        棕色尘埃2国际服(BrownDust2) 角色扮演 2025-09-27更新
        查看
        永恒机甲战争
        永恒机甲战争 角色扮演 2025-09-27更新
        查看
        帝王三国腾讯
        帝王三国腾讯 棋牌策略 2025-09-27更新
        查看
        太空杀腾讯
        太空杀腾讯 休闲益智 2025-09-27更新
        查看
        帝王三国
        帝王三国 棋牌策略 2025-09-27更新
        查看
        Roblox国际服正
        Roblox国际服正 休闲益智 2025-09-27更新
        查看
        帝王三国2025
        帝王三国2025 棋牌策略 2025-09-27更新
        查看
        汤姆猫跑酷无限金币钻石鞭炮
        汤姆猫跑酷无限金币钻石鞭炮 休闲益智 2025-09-27更新
        查看
        汤姆猫跑酷2025
        汤姆猫跑酷2025 休闲益智 2025-09-27更新
        查看
        蜀山传奇小米
        蜀山传奇小米 角色扮演 2025-09-27更新
        查看