gspread-从像列这样的数字中获取字符串形式的值

时间:2019-10-15 06:19:01

标签: python gspread

我正在尝试通过gspread库使用python阅读Google表格。

完成初始身份验证设置,我可以阅读相应的工作表。

但是我什么时候

sheet.get_all_records()

包含类似数字的值(例如0001,0002,1000)的列将转换为数字字段。那就是前导零被截断。如何防止这种情况发生?

2 个答案:

答案 0 :(得分:2)

这个答案怎么样?在此答案中,作为几种解决方法之一,使用get_all_values()代替get_all_records()。检索值后,该数组将转换为列表。请认为这只是几个答案之一。

示例脚本:

values = worksheet.get_all_values()
head = values.pop(0)
result = [{head[i]: col for i, col in enumerate(row)} for row in values]

参考:

如果这不是您想要的方向,我深表歉意。

答案 1 :(得分:0)

您可以防止gspread将numericise_ignore参数传递给int并将值传递给int的get_all_records()方法。

您可以为行中的特定索引列表禁用它:

# Disable casting for columns 1, 2 and 4 (1 indexed):
sheet.get_all_records(numericise_ignore=[1, 2, 4])

或者,将其数值设置为'all'的整个行值禁用它:

sheet.get_all_records(numericise_ignore=['all'])