要将时间戳数据插入 Google BigQuery 表中,您可以使用 Python 的 pandas
库结合 google-cloud-bigquery
库。以下是一个完整的示例,展示如何将包含时间戳的 DataFrame 插入到 BigQuery 表中。
pandas
和 google-cloud-bigquery
。您可以使用以下命令安装它们:pip install pandas google-cloud-bigquery
GOOGLE_APPLICATION_CREDENTIALS
来指定 JSON 凭据文件的路径:export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/service-account-file.json"
import pandas as pd
from google.cloud import bigquery
# 创建 BigQuery 客户端
client = bigquery.Client()
# 创建一个示例 DataFrame
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'timestamp': [pd.Timestamp('2023-01-01 10:00:00'),
pd.Timestamp('2023-01-02 11:30:00'),
pd.Timestamp('2023-01-03 12:45:00')]
}
df = pd.DataFrame(data)
# 指定 BigQuery 表的完整路径
table_id = 'your_project.your_dataset.your_table'
# 将 DataFrame 插入到 BigQuery 表中
# 如果表不存在,可以使用 `write_disposition` 参数设置为 `bigquery.WriteDisposition.WRITE_TRUNCATE` 或 `bigquery.WriteDisposition.WRITE_APPEND`
job = client.load_table_from_dataframe(df, table_id)
# 等待作业完成
job.result()
print(f'Loaded {job.output_rows} rows into {table_id}.')
name
和 timestamp
列的 DataFrame。timestamp
列使用 pd.Timestamp
来确保数据类型正确。bigquery.Client()
创建一个 BigQuery 客户端。table_id
替换为您自己的项目、数据集和表的名称。load_table_from_dataframe
方法将 DataFrame 插入到指定的 BigQuery 表中。job.result()
来等待插入作业完成。 datetime
类型,pandas
会自动处理时间戳格式。TIMESTAMP
。领取专属 10元无门槛券
手把手带您无忧上云