2015-10-15 5 views
2

Мне нужно загрузить электронные таблицы Google в файловой системе, я использую Gspread для чтения файлов с Google Диска, который отлично работает.Gspread экспортировать таблицу в файловую систему с форматированием

Я пытался экспортировать в CSV, но это, конечно, отбрасывает форматирование.

json_key = json.load(open('/googleDriveCredentials.json')) 
    scope = ['https://spreadsheets.google.com/feeds'] 
    credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope) 
    gc = gspread.authorize(credentials) 
    wks = gc.openall() 

    # processing first workbook 
    spreadsheet = wks[1] 

    # Creating CSV file which doesn't preserve formatting 
    for i, worksheet in enumerate(spreadsheet.worksheets()): 
     filename = 'somefile' + str(i) + '.csv' 
     with open(filename, 'wb') as f: 
      writer = csv.writer(f) 
      writer.writerows(worksheet.get_all_values()) 

мне интересно, если я могу сделать что-то вроде этого

worksheet.export("/myFolder") 

ответ

0

Попробуйте экспортировать в файл .xlsx. Форматирование будет сохранено:

import gspread 

gc = gspread.authorize(credentials) 
sh = gc.open_by_url('your spreadsheet') 
worksheet = sh.worksheet('your worksheet') 
export_file = worksheet.export(format='xlsx') 
f = open('filename.xlsx', 'wb') 
f.write(export_file) 
f.close()