我想在Python中获取单元格的超链接(例如A1)。到目前为止我有这个代码。感谢
properties = {
"requests": [
{
"cell": {
"HyperlinkDisplayType": "LINKED"
},
"fields": "userEnteredFormat.HyperlinkDisplayType"
}
]
}
result = service.spreadsheets().values().get(
spreadsheetId=spreadsheet_id, range=rangeName, body=properties).execute()
values = result.get('values', [])
答案 0 :(得分:2)
如何使用sheets.spreadsheets.get
?此示例脚本假设您的脚本的service
已经可以用于spreadsheets().values().get()
。
spreadsheetId = '### Spreadsheet ID ###'
range = ['sheet1!A1:A1'] # This is a sample.
result = service.spreadsheets().get(
spreadsheetId=spreadsheetId,
ranges=range,
fields="sheets/data/rowData/values/hyperlink"
).execute()
如果这对你没用,我很抱歉。
答案 1 :(得分:1)
如果您在最后添加,可以检查超链接:
print(values [0])
答案 2 :(得分:1)
在我看来,这是实际获取链接信息(地址以及显示文本)的唯一方法:
result = service.spreadsheets().values().get(
spreadsheetId=spreadsheetId, range=range_name,
valueRenderOption='FORMULA').execute()
values = results.get('values', [])
这将返回单元格的原始内容,对于每个单元格来说,超链接看起来像这样:
'=HYPERLINK("sample-link","http://www.sample.com")'
我已使用以下简单的正则表达式对其进行了解析:
r'=HYPERLINK\("(.*?)","(.*?)"\)'