如何通过Google API访问Google Form并转为Pandas DataFrame?
访问Google Form数据并转换为Pandas DataFrame
Google Form的提交数据默认会同步到关联的Google Sheets表格中,无需直接操作Form本身,找到对应的数据表格后,就能用处理普通Sheet的方式将数据转为Pandas DataFrame。
操作步骤
- 打开你的Google Form,切换到「响应」页签,点击「链接到表格」按钮,记录下关联Sheet的名称。
- 复用已有的认证逻辑,直接访问该关联Sheet即可。
完整代码示例
import gspread import pandas as pd from google.colab import auth from google.auth import default # 完成用户认证(与原有Sheet访问逻辑一致) auth.authenticate_user() creds, _ = default() gc = gspread.authorize(creds) # 替换为你的Form关联Sheet的名称 FORM_ASSOCIATED_SHEET = "你的Form响应表格名称" # 打开关联的表格 workbook = gc.open(FORM_ASSOCIATED_SHEET) # 获取响应数据所在的工作表(默认是第一个Sheet) response_sheet = workbook.sheet1 # 将表格数据转换为Pandas DataFrame form_data_df = pd.DataFrame(response_sheet.get_all_records()) # 可选:列名重命名或数据格式处理 # form_data_df.rename(columns={"旧列名": "新列名"}, inplace=True) # form_data_df["时间戳"] = pd.to_datetime(form_data_df["时间戳"]) # 打印前5行数据验证 print(form_data_df.head())
注意事项
- 若不清楚关联Sheet名称,可通过
gc.openall()列出账号下所有表格,找到包含Form标题的那一个。 - 确保你的账号对该关联Sheet拥有读取权限,否则会触发权限错误。
内容的提问来源于stack exchange,提问作者mchd
相关产品推荐
相关产品推荐

