我想使用PyGSheets在我的Google云端硬盘文件夹中创建电子表格。我还希望能够设置使用代码在其中创建工作表的目录/文件夹。具体来说,我想输入类似于URL或什至只是文件夹名称的字符串。
我已经看过PyGSheets文档和“电子表格”模型。我没有找到任何接受文件夹名称或目录地址的类。也没有用于将工作表从一个文件夹移动到另一个文件夹的类。使用PyGSheets是否可以进行任何操作?
shtTargetedCreate = con.create("Test Folder",folder="1GwA4W8iv-26BvG48nKnEigYqDL8SpUGK")
有没有更有效的方法?
答案 0 :(得分:1)
看起来您似乎已经找到了如何通过文件ID在文件夹中创建新电子表格,但是还没有找到如何从pygsheets中获取文件夹名称/ ID或如何移动工作表的方法。 (您说过您使用“ PyGSheets创建了一个文件夹,但这只是创建了一个电子表格,对吧?)
这些都可以通过使用DriveAPIWrapper函数-https://pygsheets.readthedocs.io/en/stable/drive_api.html
完成文件夹名称/ ID:
pygsheets.drive.list()
(在您的情况下为con.drive.list()
)将提供驱动器中所有文件和文件夹的元数据字典列表。我已经做了一个简单的函数,将文件夹名称(键)和ID(值)仅提取到字典中,以简化查找并与create方法一起使用:
def folder_id_dict(client):
folders = {}
meta_list = client.drive.list()
for file_meta in meta_list:
if file_meta['mimeType'] == 'application/vnd.google-apps.folder':
folders[file_meta['name']] = file_meta['id']
return folders
#your use:
names = folder_id_dict(con)
在文件夹之间移动文件:
https://pygsheets.readthedocs.io/en/stable/drive_api.html#pygsheets.drive.DriveAPIWrapper.move_file
con.drive.move_file(file_id, old_folder, new_folder, **kwargs)