使用 .csv 文件数据填充 IndexedDB

Pet*_*ter 3 html javascript csv indexeddb

如何使用 csv 文件填充 IndexedDB?我在网上的任何地方都找不到非常简单的指南。

这是我想使用的其中一个 csv 文件的示例,它们都非常相似:http : //www.mediafire.com/?hlx2tpacw5dqat5

第一列(向下的第二行)是时间戳(MS Excel),第二列(向下的第二行)是读数的数量,所有其他列都是温度读数。上面的 900 表示读数之间的时间间隔(以秒为单位)。一行中的最终读数为空,应从读数数量中丢弃(或取走)。因此,行中的第一个读数是在行时间戳减去(900 秒乘以(行中的读数减一))时进行的。对于第一行的第一个值,该值取自 (40271.0625-(0.00024*900*(1024-1)))。

我想要的是两列,可以这么说,在我的 IndexedDB 中。一个用于阅读时间(显然这些将是独一无二的)和一个用于温度。有任何想法吗?任何帮助将不胜感激!

谢谢

age*_*hun 5

您可以使用Alasql JavaScript SQL 数据库库。它具有用于从 TXT、CSV、TAB、XLS 和 XLSX 文件加载数据的特殊运算符。它也适用于 IndexedDB。在此示例中,您需要将 alasql.min.js 库添加到您的项目中,而不是创建或附加(如果已创建)IndexedDB 数据库,然后只需将列 SELECT 列 INTO IndexedDB table FROM CSV datafile with headers。

<script src='alasql.min.js'></script>
<script>
    alasql('CREATE INDEXEDDB DATABASE IF NOT EXISTS geo;\
            ATTACH INDEXEDDB DATABASE geo; \
            USE geo; \
            DROP TABLE IF EXISTS country; \
            CREATE TABLE country; \
            SELECT * INTO country FROM CSV("country.csv",{headers:true});\
            SELECT VALUE COUNT(*) FROM country',[], function(res){
        document.write('Number of records loaded into IndexedDB: ', res.pop());
    });
</script>
Run Code Online (Sandbox Code Playgroud)

在 alasql.org 站点上试试这个示例。