使用 pandas-gbq 将 DataFrame 加载到 BigQuery

使用 pandas-gbq 软件包将 DataFrame 加载到 BigQuery。

代码示例

Python

试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 BigQuery Python API 参考文档

如需向 BigQuery 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为客户端库设置身份验证

import bigframes.pandas as bpd
import pandas as pd
import pandas_gbq

# Set partial ordering mode for BigQuery DataFrames.
bpd.options.bigquery.ordering_mode = "partial"


def pandas_to_gbq_simple_pandas_gbq(
    destination_table: str = "your-project.your_dataset.your_table_name",
) -> None:
    """Uploads a pandas DataFrame to BigQuery using pandas-gbq directly."""
    df = pd.DataFrame(
        {
            "my_string": ["a", "b", "c"],
            "my_int64": [1, 2, 3],
            "my_float64": [4.0, 5.0, 6.0],
            "my_bool1": [True, False, True],
            "my_bool2": [False, True, False],
            "my_dates": pd.date_range("now", periods=3),
        }
    )
    pandas_gbq.to_gbq(df, destination_table, if_exists="replace")
    print(f"Uploaded DataFrame to {destination_table} using pandas-gbq.")


def pandas_to_gbq_simple_bigframes(
    destination_table: str = "your-project.your_dataset.your_table_name",
) -> None:
    """Uploads a pandas DataFrame to BigQuery using BigQuery DataFrames."""
    df = pd.DataFrame(
        {
            "my_string": ["a", "b", "c"],
            "my_int64": [1, 2, 3],
            "my_float64": [4.0, 5.0, 6.0],
            "my_bool1": [True, False, True],
            "my_bool2": [False, True, False],
            "my_dates": pd.date_range("now", periods=3),
        }
    )
    bq_df = bpd.read_pandas(df)
    bq_df.to_gbq(destination_table, if_exists="replace")
    print(f"Uploaded DataFrame to {destination_table} using BigQuery DataFrames.")


# [Preferred] Run using pandas-gbq:
# pandas_to_gbq_simple_pandas_gbq("your-project.your_dataset.your_table_name")

# Alternatively, run using BigQuery DataFrames:
# pandas_to_gbq_simple_bigframes("your-project.your_dataset.your_table_name")

后续步骤

如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅Google Cloud 示例浏览器