在pd.readGoogle表单上使用www.example.com _csv()时未读取文本

chhqkbe1  于 2022-12-06  发布在  Go
关注(0)|答案(1)|浏览(121)

我尝试使用panda pd.read_csv()读取Google Sheet,但是当列中包含文本单元格和数值单元格时,文本无法读取。我的代码是:

def build_sheet_url(doc_id, sheet_id):
    return r"https://docs.google.com/spreadsheets/d/{}/gviz/tq?tqx=out:csv&sheet={}".format(doc_id, sheet_id)

sheet_url = build_sheet_url(doc_id, sheet_name)
df = pd.read_csv(sheet_url)


> df
   Column1  Column2
0       12       21
1       13       22
2       14       23
3       15       24

电子表格如下所示:

我尝试使用dtype=strdtype=object,但无法在 Dataframe 中显示文本。指定编码encoding='utf-8'也不起作用。

nue99wik

nue99wik1#

这是因为查询不支持混合数据类型:
数据类型。支持的数据类型包括字符串、数字、布尔值、日期、日期时间和时间。列的所有值都将具有与列类型匹配的数据类型或空值。这些类型与JavaScript类型相似但不完全相同。
使用/export终结点(或改用drive-api终结点):

https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/export?format=[FORMAT]&gid=(SHEET_ID)&range=(A1NOTATION)
相关:

相关问题