Google pydrive uploading a file to specific folder

前端 未结 1 1155
萌比男神i
萌比男神i 2021-02-15 04:48

I am trying to upload a file to my Google drive, the code below works. How can I specify to which folder to upload to i.e drive---shared with me--csvFolder

from          


        
1条回答
  •  北海茫月
    2021-02-15 05:20

    • You want to upload a file to the specific folder in your Google Drive using pydrive.

    If my understanding is correct, how about this modification?

    From:

    file2 = drive.CreateFile()
    

    To:

    file2 = drive.CreateFile({'parents': [{'id': '### folder ID ###'}]})
    
    • Please set the folder ID like above.

    Reference:

    • PyDrive’s documentation

    If this was not the result you want, I apologize.

    Added:

    When you want to upload a file to the specific folder from the folder name, how about this modification?

    From:

    file2 = drive.CreateFile()
    file2.SetContentFile('new_test.csv')
    file2.Upload()
    

    To:

    folderName = '###'  # Please set the folder name.
    
    folders = drive.ListFile(
        {'q': "title='" + folderName + "' and mimeType='application/vnd.google-apps.folder' and trashed=false"}).GetList()
    for folder in folders:
        if folder['title'] == folderName:
            file2 = drive.CreateFile({'parents': [{'id': folder['id']}]})
            file2.SetContentFile('new_test.csv')
            file2.Upload()
    

    Alternative to get folder ID

    You can use the following snippet to print files and or folders ID

    fileList = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
    for file in fileList:
      print('Title: %s, ID: %s' % (file['title'], file['id']))
      # Get the folder ID that you want
      if(file['title'] == "To Share"):
          fileID = file['id']
    

    0 讨论(0)
提交回复
热议问题