[R-sig-DB] [R] SQLite: When reading a table, a "\r" is padded onto the last column. Why?
ronggui
ronggu|@hu@ng @end|ng |rom gm@||@com
Thu Jan 4 02:22:23 CET 2007
On 1/4/07, Seth Falcon <sfalcon using fhcrc.org> wrote:
> Prof Brian Ripley <ripley using 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 using 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
黄荣贵
复旦大学社会学系
More information about the R-sig-DB
mailing list