通过 gspread 对价差 sheet 进行排序
Sort a spread sheet via gspread
我有一张 Google 散布sheet,里面全是姓名、日期和其他一些数字。
我制作了一个桌面应用程序,它为上述信息提供了一个很好的 UI。
使用该应用程序后,我对显示数据的顺序感到有些恼火。
我研究了一整天,似乎找不到关于从 python 脚本中对传播 sheet 进行排序的主题的任何内容。
我所需要的只是一些函数,每次有人向它添加内容时我都可以调用它来重新排序 sheet.
如果有人能帮助我,我将不胜感激。
提前致谢。
您可以使用 PyGsheets 库。它在较低级别上使用 sheets API v4。
my_worksheet.sort_range()
函数会帮助你,但它有一些特殊性
start
和 end
单元格中的编号以 1 开头,但
basecolumnindex
以 0 开头。
- 您可以通过两种方式传递单元格的地址:文本索引(如
"A3"
)或包含 2 个元素的元组(如 (1, 3)
)。第二种方法对我不起作用。
start
和 end
单元格限制的范围应包含在 basecolumnindex
中传递的列
GSpread 有一个.sort()
方法来使用给定的排序顺序对作品sheet 进行排序。下面是如何使用它(来源 - GSpread Docs):
参数:
- specs (list) – 每列的排序顺序。每个排序顺序由一个元组表示,其中第一个元素是列索引,第二个元素是顺序本身:“asc”或“des”。
- range (str) – 以 A1 表示法排序的范围。默认情况下对整个 sheet 进行排序,不包括冻结行。
示例:
# Sort sheet A -> Z by column 'B'
wks.sort((2, 'asc'))
# Sort range A2:G8 basing on column 'G' A -> Z
# and column 'B' Z -> A
wks.sort((7, 'asc'), (2, 'des'), range='A2:G8')
我有一张 Google 散布sheet,里面全是姓名、日期和其他一些数字。 我制作了一个桌面应用程序,它为上述信息提供了一个很好的 UI。 使用该应用程序后,我对显示数据的顺序感到有些恼火。
我研究了一整天,似乎找不到关于从 python 脚本中对传播 sheet 进行排序的主题的任何内容。 我所需要的只是一些函数,每次有人向它添加内容时我都可以调用它来重新排序 sheet.
如果有人能帮助我,我将不胜感激。
提前致谢。
您可以使用 PyGsheets 库。它在较低级别上使用 sheets API v4。
my_worksheet.sort_range()
函数会帮助你,但它有一些特殊性
start
和end
单元格中的编号以 1 开头,但basecolumnindex
以 0 开头。- 您可以通过两种方式传递单元格的地址:文本索引(如
"A3"
)或包含 2 个元素的元组(如(1, 3)
)。第二种方法对我不起作用。 start
和end
单元格限制的范围应包含在basecolumnindex
中传递的列
GSpread 有一个.sort()
方法来使用给定的排序顺序对作品sheet 进行排序。下面是如何使用它(来源 - GSpread Docs):
参数:
- specs (list) – 每列的排序顺序。每个排序顺序由一个元组表示,其中第一个元素是列索引,第二个元素是顺序本身:“asc”或“des”。
- range (str) – 以 A1 表示法排序的范围。默认情况下对整个 sheet 进行排序,不包括冻结行。
示例:
# Sort sheet A -> Z by column 'B'
wks.sort((2, 'asc'))
# Sort range A2:G8 basing on column 'G' A -> Z
# and column 'B' Z -> A
wks.sort((7, 'asc'), (2, 'des'), range='A2:G8')