[R] Saving Google worksheets with common prefix

Henrik Bengtsson hb at biostat.ucsf.edu
Fri Nov 21 16:36:23 CET 2014


Add a print(ts2$i) to see if that really gives what you think it does.

Then take it from there.

Henrik
On Nov 21, 2014 7:19 AM, "Jennifer Sabatier" <plessthanpointohfive at gmail.com>
wrote:

> Anyone can help?
>
> On Thu, Nov 20, 2014 at 6:44 PM, Jennifer Sabatier <
> plessthanpointohfive at gmail.com> wrote:
>
> > Hi R-Help,
> >
> > So, I will try to provide a reproducible example...I basically made a
> > dummy spreadsheet that contains the same number of tabs as the
> spreadsheet
> > I am really interested in.  The data on that spreadsheet is really
> > sensitive so I couldn't use it.
> >
> > Anyway, here are the various sheets in the spreadsheet:
> > > names(ts)
> > [1] "Operations"    "Financing"     "Income"        "Balance sheet" "Cash
> > Flows211"
> > [6] "Cash Flows210" "Cash Flows29"  "Cash Flows28"  "Cash Flows27"
> >
> > I am only interested in these sheets:
> > > names(ts2)
> > [1] "Cash Flows211" "Cash Flows210" "Cash Flows29"  "Cash Flows28"  "Cash
> > Flows27"
> >
> > I want to save them to csv files that contain the same name or similar as
> > the sheet name.
> >
> > Here's the error I'm getting (using traceback i ran it twice to get the
> > trace):
> > [1] "Cash Flows211"
> > [1] "Cash Flows211 - 2014-11-20.csv"
> > 6: stop(err)
> > 5: stop.if.HTTP.error(http.header)
> > 4: getURLContent(uri, .opts = .opts, .encoding = .encoding, binary =
> > binary,
> >        curl = curl)
> > 3: getForm("https://www.google.com/accounts/ClientLogin", accountType =
> > "HOSTED_OR_GOOGLE",
> >        Email = login, Passwd = password, service = service, source =
> > appID,
> >        .opts = list(ssl.verifypeer = FALSE))
> > 2: getGoogleAuth(usrname, pword, "...", service = "wise")
> > 1: getGoogleDocsConnection(getGoogleAuth(usrname, pword, "...",
> >        service = "wise"))
> > Error in getURL(sheet at cellsfeed, curl = getCurlCon(con), followlocation
> =
> > TRUE) :
> >   trying to get slot "cellsfeed" from an object of a basic class ("NULL")
> > with no slots
> >
> >
> > Here's the code:
> >
> > # install the RGoogleDocs package
> > install.packages("RGoogleDocs", repos = "http://www.omegahat.org/R",
> > type="source", dep=F)
> >
> > library(RGoogleDocs)
> >
> > usrname <- "r.project.user at gmail.com"
> >
> > pword <- "fakepword"
> >
> > sheets.con <- getGoogleDocsConnection(getGoogleAuth(usrname, pword,
> "...",
> > service = "wise"))
> >
> > a <- getDocs(sheets.con)
> >
> > ts <- getWorksheets('Google spreadsheet example', sheets.con)
> >
> > ts2 <- ts[grep("^Cash Flow", names(ts))]
> > nms <- names(ts2)
> > lnth <- length(ts2)
> > sheetz <- list("integer" = lnth, "names" = nms)
> > sheetz
> >
> > for (i in sheetz$names) {
> > print(i)
> > file.name <- paste(i, " - ", Sys.Date(), ".csv", sep="")
> > print(file.name)
> > traceback()
> > tab <- sheetAsMatrix(ts2$i, header = TRUE, as.data.frame = TRUE, trim =
> > TRUE)
> > writecsv(tab, file.name)
> >
> > }
> >
> >
> > Now, if I do this as below it works:
> >
> >
> >
> > tab <- sheetAsMatrix(ts$"Cash Flows211", header = T, as.data.frame =
> TRUE,
> > trim = TRUE)
> >
> > head(tab)
> >
> > > head(tab)
> >               STATEMENTS OF CASH FLOWS    NA    NA    NA    NA
> > 1                                 Year   0.0   1.0   2.0   3.0
> > 2                           Net income  <NA> -43.0  -6.0  32.0
> > 3                    Plus depreciation  <NA> 100.0 100.0 100.0
> > 4           Less increase in inventory -10.0 -15.0 -10.0  -8.0
> > 5 Less increase in accounts receivable     - -60.0 -24.0 -18.0
> > 6    Plus increase in accounts payable   8.0  12.0   8.0   6.0
> >
> >
> >
> > So, why can't I automate this?
> >
> > BTW, you should be able to access this spreadsheet.  I made a dummy
> Google
> > account and put this dummy spreadsheet on it.
> >
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list