Re: [R] SQLite: When reading a table, a "\r" is padded onto the last column. Why?

From: ronggui <ronggui.huang_at_gmail.com>
Date: Thu 04 Jan 2007 - 01:22:23 GMT

On 1/4/07, Seth Falcon <sfalcon@fhcrc.org> wrote:
> Prof Brian Ripley <ripley@stats.ox.ac.uk> writes:
> > [I am not sure who is actually maintaining RSQLite, so am Cc: both the
> > stated maintainer and the person who prepared the package for
> > distribution. The posting guide asked you to contact the maintainer:
> > what response did _you_ get?]
>
> For the record, I will be (have been) taking on the maintainer role
> for RSQLite. The Maintainer field will be updated in the next
> version.
>
> As to the '\r' problem, a release candidate RSQLite 0.4-17 is
> available here:
>
> http://bioconductor.org/packages/misc/
>
> This version uses prepared queries to implement dbWriteTable. This
> should resolve the '\r' issue on Windows and should also be
> considerably more efficient. Soren, can you give this one a try and
> let me know if it works for you?

When write a data frame to db table, the problem of "\r" is fixed. But for importing data frome file, the problem is still there. When if the final line lacks the eol sign "\n", "\001x\001(" comes up.

> dbWriteTable(con,"test","c:/test.txt",sep="\t",head=T,over=T,eol="\n")
[1] TRUE
Warning message:
incomplete final line found by readTableHeader on 'c://test.txt'
> dbReadTable(con,"test")

  a           b
1 1         2\r
2 3          \r
3 1         3\r

4 0 5\001x\001(
> dbWriteTable(con,"test","c:/test.txt",sep="\t",head=T,over=T,eol="\n")
[1] TRUE
> dbReadTable(con,"test")

  a b
1 1 2\r
2 3  \r
3 1 3\r
4 0 5\r

> data(USArrests)
> dbWriteTable(con, "USArrests", USArrests, overwrite = T)
[1] TRUE
> dbReadTable(con, "USArrests")
               Murder Assault UrbanPop Rape
Alabama          13.2     236       58 21.2
Alaska           10.0     263       48 44.5
Arizona           8.1     294       80 31.0
Arkansas          8.8     190       50 19.5
California        9.0     276       91 40.6
Colorado          7.9     204       78 38.7


> sessionInfo()

R version 2.4.0 Patched (2006-11-21 r39949) i386-pc-mingw32

locale:
LC_COLLATE=Chinese_People's Republic of

China.936;LC_CTYPE=Chinese_People's Republic of
China.936;LC_MONETARY=Chinese_People's Republic of
China.936;LC_NUMERIC=C;LC_TIME=Chinese_People's Republic of China.936

attached base packages:
[1] "stats"     "graphics"  "grDevices" "utils"     "datasets"  "methods"
[7] "base"

other attached packages:
 RSQLite DBI
"0.4-17" "0.1-11"

> Recent work on RSQLite has focused on integrating SQLite3's type
> system into the interface. We now rely on the column type in the DB
> when retrieving results. Previously, type.convert was used. I'm
> fairly certain these changes will result in changes in behavior -- in
> most cases, I think the changes are for the better.
>
> + seth
>
> ______________________________________________
> R-help@stat.math.ethz.ch 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.
>

-- 
Ronggui Huang
Department of Sociology
Fudan University, Shanghai, China
黄荣贵
复旦大学社会学系



______________________________________________ R-help@stat.math.ethz.ch 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.

Received on Thu Jan 04 12:29:45 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Thu 04 Jan 2007 - 03:30:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.