【问题标题】:How to write a python script to manipulate google spreadsheet data如何编写 python 脚本来操作谷歌电子表格数据
【发布时间】:2010-03-04 06:32:05
【问题描述】:

我能够从电子表格和工作表 ID 中获取提要。我想从每个单元格中捕获数据。

即,我能够从工作表中获取提要。现在我需要从每个单元格中获取数据(字符串类型?)以进行比较和输入。

我该怎么做?

【问题讨论】:

  • 我对python一无所知,但是先将excel文件转换为rtf然后读入值不是更容易吗?
  • 我在这里使用 python 脚本从 google docs 电子表格中获取数据。

标签: python google-sheets gspread


【解决方案1】:

还有一个spreadsheet library 值得一看:gspread。我使用了上面提到的谷歌数据库,对我来说提供的 api 很奇怪。您需要提取电子表格的密钥才能开始使用此电子表格。

这是一种更简单的方式。如果您需要从单元格中获取数据,您只需打开工作表并获取值:

g = gspread.login('your@gmail.com', 'password')

worksheet = g.open('name_of_the_spreadsheet').get_worksheet(0)

# Say, you need A2
val = worksheet.cell(2, 1).value

# And then update
worksheet.update_cell(2, 1, '42') 

【讨论】:

  • 这看起来更明智且不那么笨拙
【解决方案2】:

Google 数据 API 有一个 Python 绑定,包括电子表格:http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html

【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      gspread 可能是开始此过程的最快方式,但是使用来自本地主机的 gspread 更新数据有一些速度限制。如果您使用 gspread 移动大型数据集 - 例如在列上移动 20 列数据,您可能希望使用 CRON 作业自动化该过程。

      【讨论】:

        【解决方案5】:

        还有另一个电子表格库:pygsheets。它类似于 gspread,但使用 google api v4。因此提供了更多选择。

        import pygsheets
        
        gc = pygsheets.authorize()
        
        # Open spreadsheet and then workseet
        sh = gc.open('my new ssheet')
        wks = sh.sheet1
        
        # Update a cell with value (just to let him know values is updated ;) )
        wks.update_cell('A1', "Hey yank this numpy array")
        
        # update the sheet with array
        wks.update_cells('A2', my_nparray.to_list())
        
        # share the sheet with your friend
        sh.share("myFriend@gmail.com")
        

        【讨论】:

          猜你喜欢
          • 2012-06-15
          • 1970-01-01
          • 2019-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多