Google api Google Sheets API向文本添加单个qoute
您好,我正在运行一个Google APi脚本,将数据输入到工作表中,但对于某些文本(数字、日期、布尔值),它会在例如05/01/2021='05/01/2021之前添加一个' 我正在使用批处理更新:Google api Google Sheets API向文本添加单个qoute,google-api,google-sheets-api,Google Api,Google Sheets Api,您好,我正在运行一个Google APi脚本,将数据输入到工作表中,但对于某些文本(数字、日期、布尔值),它会在例如05/01/2021='05/01/2021之前添加一个' 我正在使用批处理更新: def turn_into_range(data, SheetId, row,cols): rows = [{'values': [{'userEnteredValue': {'stringValue': f}} for f in e]} for e in data] rng = {
def turn_into_range(data, SheetId, row,cols):
rows = [{'values': [{'userEnteredValue': {'stringValue': f}} for f in e]} for e in data]
rng = {'sheetId': SheetId, 'startRowIndex': 0, 'startColumnIndex': 0}
fields = 'userEnteredValue'
body = {'requests': [{'updateCells': {'rows': rows, 'range': rng, 'fields': fields}},{
"updateSheetProperties": {
"properties": {
"gridProperties": {
"rowCount": row + 1,
"columnCount": cols
},
"sheetId": SheetId
},
"fields": "gridProperties"
},
}
]}
clean_dict = simplejson.loads(simplejson.dumps(body, ignore_nan=True))
return clean_dict
def post_sheet(service_sheets, spreadsheet_id, body):
request = service_sheets.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=body)
response = request.execute()
return response
有什么想法吗?对于这个问题,这是因为您的数据在
stringValue
中被视为字符串
您需要为不同的数据类型使用其他类型的值
stringValue
:
- “字符串”表示字符串值
- 不包括前导单引号。例如,如果用户在UI中键入
,这将表示为'123
的“123”
stringValue
布尔值
:
- True或False,#表示布尔值
numberValue
:
- 3.14,#表示双值
- 注:日期、时间和日期时间以“序列号”格式表示为双精度
公式值
:
- “字符串”表示一个公式
errorValue
:
- 单元格中的错误。表示一个错误
- 此字段是只读的
from dateutil.parser import parse
def checkData(data):
if (isinstance(data, bool)):
return 'boolValue'
try:
if (isinstance(data, (int, float)) or parse(data)):
return 'numberValue'
except ValueError:
return 'stringValue'
行为:
现在,在代码中使用它:
rows=[{'values':[{'userEnteredValue':{checkData(f):f}}用于e中的f]}用于e中的e]
有关更多详细信息,请参阅文档谢谢我了解有没有办法从熊猫数据框定义类型?嗨@davidraper,我在上面的回答中添加了一个代码,你能检查一下吗?非常感谢,太完美了!您好@davidraper,如果您的问题已解决,请按“接受并向上投票”按钮。与你有相同问题的其他人也可以将你的问题作为可以解决的问题。如果你找不到按钮,尽管告诉我。stackoverflow.com/help/accepted-answer