-
-
Notifications
You must be signed in to change notification settings - Fork 18.9k
Closed
Labels
EnhancementIO DataIO issues that don't fit into a more specific labelIO issues that don't fit into a more specific label
Milestone
Description
Google Spreadsheet is an online spreadsheet.
Google Document can be use to generate survey and results of survey will be stored as a Google Spreadsheet document.
Maybe Pandas should provide a pd.io.gspread.read_frame
function that will read a given Google Spreadsheet document (using email, password, url or name of document and range) and return a DataFrame.
pd.io.gspread.read_frame(email, password, filename, sheet, cell_range)
gspread
package could help
http://burnash.github.io/gspread/
I wrote a little bit of code for that... but it could probably be improve and add into Pandas.
email = '...@...'
password = '...'
cell_range = 'A1:R20'
gc = gspread.login(email, password)
wks = gc.open(filename).sheet1
cell_list = wks.range('')
# Build a NumPy array
(row, col) = (cell_list[-1].row, cell_list[-1].col)
data = np.empty((row-1,col), dtype=object)
data[:] = np.nan
k = 0
cols = []
for i in range(row):
for j in range(col):
val = cell_list[k].value
if i==0:
if val != None:
if val not in cols:
cols.append(val)
else: # add a number if colname ever exists
ii = 1
while True:
new_val = val + '_' + str(ii)
if new_val not in cols:
break
ii += 1
cols.append(new_val)
else:
cols.append('col_'+str(j))
#cols.append(j)
else:
if val != None:
data[i-1, j] = val
k += 1
Metadata
Metadata
Assignees
Labels
EnhancementIO DataIO issues that don't fit into a more specific labelIO issues that don't fit into a more specific label