-4

我有一个工作表名为test_sheet的Excel工作表。我有一张Google工作表,其工作表共享相同的名称test_sheet。我想自动执行复制和粘贴Excel工作表test_sheet内容的过程,以替换Google工作表test_sheet的内容。这怎么可以用python v3 xlwings以编程方式完成?将Excel工作表的内容上传到Google表格工作表

我用Excel 2016

+0

当然你想这样做吗?为什么不从一开始就提供谷歌表格?为了做你想做的事情,你需要在特定的地方使用你的excel文件,使用python代码读取并转换成类似csv的文件(xlwings可能会这样做),然后使用更多python代码和“设置”来连接到google表API并写在那里。和一个cronjob(或类似的东西)定期做这个。 – Tico

+3

有一个Google Spreadsheets python库,你需要的只是一些粘合代码,到目前为止你尝试过了什么? – georgexsh

+0

类似的问题在这里:https://stackoverflow.com/questions/9690138 –

回答

2

你将需要

  1. 熊猫
  2. 看门狗
  3. Pygsheets

熊猫读XLSX/CSV文件,将它们转换成字典,以便您可以使用pygsheets应用批量更新。

看门狗,看你xlsx文件的修改。做出修改后,您可以使用pandas重新读取这些文件,然后使用pygsheets在Google上更新电子表格。

enter image description here

2

我可能误解的问题,但如果你只是想从Excel文件复制到谷歌表你可以与他们的网络界面上传它,它会自动转换。

如果您需要同步文件,可以使用Google Drive同步客户端,或将Excel工作表保存到OneDrive并使用Zapier同步文件。

如果出于任何原因需要以编程方式上传文件,使用AutoHotkey等程序自动执行用户输入将比创建一个Python程序来执行此操作更容易。

如果你真的需要在Python程序(这是数据处理的最有用的语言都是一个后),您可以使用xlwings读入纸和输出Google Sheets API。

加速文件读入的另一件事可能是将一些简单的VBA代码添加到Excel文件中,将整个内容输出为python更容易读取的格式,或将整个表格导出为csv然后使用python csv库来读取它。

另一个问题是为什么您需要使用Google表格格式。如果您只需要通过链接访问该文件,则可以将该表单上传到OneDrive并使其可访问。如果您需要通过互联网访问其他程序,则可以直接传输它或通过FTP访问该文件。

2

如果您有谷歌的OAuth2用户凭据,:

http://gspread.readthedocs.io/en/latest/oauth2.html 

只需使用:

https://github.com/burnash/gspread 
1

你可以使用谷歌的程序调用备份和同步轻松地在您的计算机上保存任何文件夹到您的谷歌驱动器。

您只需将同步设置设置为只将一张Excel表格保存到计算机上某个位置的位置即可。然后,每次保存文档时,它都会自动与您的谷歌驱动器上的Excel表副本同步。