python
  • gdata-api
  • google-docs
  • gdata
  • 2009-06-03 6 views 1 likes 
    1

    gdata API 또는 워크 시트를 사용하여 스프레드 시트를 다른 스프레드 시트로 복사 할 수 있습니까? 지금은 하나의 워크 시트에서 다른 셀로 모든 셀을 복사합니다. 요청 당 하나의 셀. 너무 느립니다. "셀 일괄 처리"에 대해 읽고 다음 코드를 작성하십시오.하나의 스프레드 시트에서 다른 스프레드 시트로 워크 시트 복사

     
    
    src_key = 'rFQqEnFWuR6qoU2HEfdVuTw'; dst_key = 'rPCVJ80MHt7K2EVlXNqytLQ' 
    
    sheetcl = gdata.spreadsheet.service.SpreadsheetsService('[email protected]','p') 
    dcs = gdata.docs.service.DocsService('[email protected]', 'p') 
    
    src_worksheets = sheetcl.GetWorksheetsFeed(src_key) 
    dst_worksheets = sheetcl.GetWorksheetsFeed(dst_key) 
    
    for src_worksheet, dst_worksheet in zip(src_worksheets.entry, dst_worksheets.entry): 
    
        sheet_id = src_worksheet.id.text.split('/')[-1] 
        dst_sheet_id = dst_worksheet.id.text.split('/')[-1] 
    
        cells_feed = sheetcl.GetCellsFeed(src_key, sheet_id) 
        dst_cells_feed = sheetcl.GetCellsFeed(dst_key, dst_sheet_id) 
    
        for cell in cells_feed.entry: 
         dst_cells_feed.AddInsert(cell) 
    
        sheetcl.ExecuteBatch(dst_cells_feed, dst_cells_feed.GetBatchLink().href) 
     
    

    그러나 작동하지 않습니다. 당신은 아마 다음 번에 대상 스프레드 시트의 inserting rows을 전체 행을 얻을 수있는 cell range query를 사용한다

     
    
    >>> cell.id.text 
    'http://spreadsheets.google.com/feeds/cells/rFQqEnFWuR6qoU2HEfdVuTw/default/private/full/R1C1' 
    >>> 
     
    

    답변

    1

    : 내 생각대로 이유는 내부 루프의 각 셀은 spreadsheet_id 구성의 ID를 가지고 있다는 것입니다.

    관련 문제