下载包含空白单元格的

时间:2018-03-01 16:01:16

标签: python csv google-sheets google-spreadsheet-api google-api-python-client

我正在创建一个存储员工时间的数据库。他们将时间花在Google电子表格上,然后将其下载并放入CSV格式。然后将CSV放入数据库中 问题是:如果他们在Google工作表(特别是最后一个单元格)中将单元格留空,则下载会停止。

我的python脚本:

credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?'
                'version=v4')
service = discovery.build('sheets', 'v4', http=http,
                          discoveryServiceUrl=discoveryUrl)

spreadsheetId = '***************************'
rangeName = 'Master Time!A:E'
result = service.spreadsheets().values().get(
    spreadsheetId=spreadsheetId, range=rangeName).execute()
values = result.get('values', [])
#set up csv
if not values:
    print('No data found.')
else:
    with open('MasterTime_notFixed.csv', "w", newline='') as csvfile:
        writer=csv.writer(csvfile, delimiter=',')
        for row in values:
            writer.writerow(row)
            print('%s, %s, %s, %s, %s' % (row[0], row[1], row[2], row[3], row[4]))`

有没有办法自动为Google电子表格中的单元格添加值,还是其他选项? 到目前为止,我已经尝试添加另一行并填充数据,然后没有获取数据,但它给了我超过我需要的方式。

最终目标是非常放手。因此,一旦使用它,就不必触及脚本。

编辑

电子表格:
Spreadsheet with blank spaces

错误:

Traceback (most recent call last):
Employee, Date, Job Number, Hours, Description
SomeEmpName, 2018-02-26, 80112-17, 8, field ck with john
  File "C:/Users/JP2-GIS2/Desktop/GIS/SW/Time/TimeSheet.py", line 102, in 
<module>
SomeEmpName, 2018-02-28, 80008-18, 8, stk cg with john
SomeEmpName, 2018-02-27, 40000, 1, dept meeting
    main()
  File "C:/Users/JP2-GIS2/Desktop/GIS/SW/Time/TimeSheet.py", line 100, in 
main
print('%s, %s, %s, %s, %s' % (row[0], row[1], row[2], row[3], row[4]))
IndexError: list index out of range

Process finished with exit code 1

代码在有空格的行停止。

0 个答案:

没有答案
相关问题