问题标签 [rsqlite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - R: RSQLite randomly corrupted databasefiles occur, do I need to close connection?
I load several databasefiles (SQLite) and subject them to a simple query:
I run into problems since my files are randomly corrupted, or wiped.. appearing as 0 byte in filesize.
Am I doing something wrong and should I be closing connections after each query. What is best practice here?
sql - 连接表 SQL 命令
我有一个包含 19 个不同表的数据库。
我只需要FULLJOIN
在每个表上使用一个命令,类似于rbind
在 R 中。
由于我是 SQL 语言的新手,我尝试data.frame
通过将每个 Samples 绑定在一起来创建第一个,最后编写一个数据库。
但是,这会占用太多内存,并使我的 R 会话崩溃。所以我现在有必要使用 SQL 数据库创建。
那么使用 R,我如何从上面的列表中加入创建的表?
r - 如何动态地将数据添加到数据框中?
我有需要为文件中的每一行清理的数据,并且我想将清理后的数据插入 SQLite3 数据库中。我正在使用需要数据框的RSQLite库。这是我试图开始工作的代码:
虽然代码执行没有意外,但当我尝试使用 DbVisualizer 查看数据库时出现错误:
我唯一的猜测是行和列以某种方式转置。我的列名应该是feature_names
向量的值。
另外,如果有人对更好的方法有任何建议......
更新
我试着做一个 dput,虽然我不知道我在看什么。这是摘要的顶部:
再一次,这让我相信数据都是混在一起的。它应该有 561 列,其中一些在上面表示为 tBodyAcc-mean()-X 等。列值应该是我在上面看不到的浮点数。
表命令不起作用:
我应该有 7,352 行和 561 列。
更新 2
我相信我的问题是我正在尝试使用一个或多个数组之类的列表。例如,在 Ruby 中,我可以这样做:
r - 导入大于 2^31-1 的 SQLite 整数列
我有table
一个 SQLite 数据库DB
,我想在 R 中导入。但其中的一列integer
是table
SQLite 整数数据类型,它可能假定值 > 2^31-1,然后超过 R 整数数据类型支持的值。然而,RSQLite 将继续将列中的所有值integer
作为整数导入到 R 数据框中:
无论如何在R中指定目标数据框列的数据类型?
database - 将 na.strings 传递给 dbWriteTable
我正在尝试在 R 中运行以下命令,以便将本地制表符分隔文件读取为 SQLite 数据库:
但是,上面的语句会产生以下错误:
read.table 中的错误(fn,sep = sep,header = header,skip = skip,nrows = nrows,:由多个实际参数匹配的形式参数“na.strings”
这让我觉得我无法na.strings
明确地作为read.delim
参数传递。在没有这个参数的情况下运行dbWriteTable
会给我“RS-DBI 驱动程序:(RS_sqlite_import: ./data.tsv 第 17696 行预期有 20 列数据,但找到了 18 列)”。这是可以理解的,因为我检查了第 17696 行,它几乎完全是空白的。
另一个测试运行使用sqldf
也给了我一个错误:
我认为这是一个不相关的错误,但对于像我这样绝对是 SQL 菜鸟的人来说仍然非常混乱。相反, Runninread.csv.sql
给了我这个错误:
Error in read.table(fn, sep = sep, header = header, skip = skip, nrows = nrows, : more columns than column names
那么有没有办法通过na.strings = c("", NA)
呢dbWriteTable
?除了sqldf
和之外,还有更好的方法将 10 GB 制表符分隔的文件读入 RRSQLite
吗?我已经尝试过data.table
和ff
。
r - 如何使用 RSQLite 将制表符分隔的数据导入到 sqlite?
我想使用 RSQLite 将一堆大文本文件导入 SQLite 数据库。如果我的数据用逗号分隔,我会这样做:
但是用 '\t' 分隔的数据呢?我知道我可以将数据读入 R data.frame,然后从中创建表,但我想直接进入 SQLite,因为有很多大文件。当我用我的数据尝试上述方法时,我得到一个单一的字符字段。
我可以使用 sep='\t' 之类的选项吗?我尝试只添加 sep='\t',如下所示:
编辑:事实上这很好用,但是我正在使用的文件中的一个缺陷导致了一个错误。如果你像我一样有标题,添加 header=TRUE 也很好。
sql - RSQLite:在同一个选择查询中绑定集合和标量
如何在SQL 语句的bind.data
参数中同时传递标量和一组值,例如dbGetQuery()
这是我尝试过的:
从阅读源代码开始,任何非 data.framebind.data
参数都会被强制通过as.data.frame()
,所以我想尝试除数据帧之外的任何东西都没有什么意义。
注意:哎呀,似乎即使绑定一个集合也是有问题的:
这清楚地表明从 R 发送了 2 个单独的查询(其中一个返回 4,其中一个返回 3 个结果);SQLite 永远不会看到设置参数。
较早的注释:我希望数据库引擎过滤适当的行,我不希望 R 计算笛卡尔积。在上面的示例中,简单地摆脱I()
创建一个 2 行数据帧(感谢 R 的回收),其中之一就是解决方案。R 将这两行中的每一行发送到 sqlite,当然第二行匹配。但以下显示 SQLite 引擎实际上并没有使用常规 data.frames 接收设置参数:
r - CSV 到 SQLite 到 R:字符列的引号过多
我正在尝试创建一个工作流程
- 使用 R 创建 SQLite 数据库
- 将一些(可能很大——大于内存容量)CSV 文件作为表加载到数据库中
- 使用 dplyr 进行分析
下面的内容似乎与我想要的非常接近,但我无法弄清楚为什么我在Species
列中有额外的引号。
r - 如何使用自动生成的字段附加到 R 中的 SQLite 表
这是与此问题类似的问题,但我不希望用 NA 填充缺失的列,因为缺失的列具有有意义的默认值,包括主键。
我正在尝试从 R 附加到 SQLite 表,其中该表具有一些自动生成的字段,特别是主键和两个时间戳值。第一个时间戳是创建日期,第二个时间戳是修改日期。
这是表结构:
当我尝试使用 MySQL 做完全相同的事情时,会dbWriteTable
自动处理缺失列的默认值,并正确填充主键和 created_date(并且它会自动匹配列的顺序)。
如何使用 RSQLite 包实现相同的行为?我不确定我的数据库配置是否不正确,或者我是否需要在 R 中执行一些附加步骤?
NA
我尝试使用&预先填充缺少的字段'null'
,但在这两种情况下我都会收到错误消息:
并且数据不会被写入。
r - 如何在 SQLite 数据库中存储 R 对象(列表)?
我只是想知道是否可以通过 sqldf 或 RSQLite 将 R 列表直接存储在 SQLite 数据库中(当然也可以检索它们)。