iva*_*ble 5 c database csv sqlite objective-c
我知道我可以通过以下方式将 .csv 文件导入到 sqlite 数据库中的预先存在的表中:
.import filename.csv tablename
Run Code Online (Sandbox Code Playgroud)
但是,是否有这样的方法/库可以自动创建表(及其架构),这样我就不必手动定义:column1 = string, column2 = int ....etc。
或者,也许我们可以将所有内容导入为字符串。据我有限的理解,sqlite3 似乎将所有字段都视为字符串?
编辑:每列的名称在这里不是那么重要(假设我们可以从 CSV 文件的第一行获取该数据,或者它们可以是任意名称)关键是识别每列的值类型。
您在评论中说过,确定列的类型是一个不平凡的问题。(想象一百万行看起来都像数字,但其中一行有一个 Z。 - 现在该行必须键入“字符串”。)
虽然这很重要,但让 90% 的场景发挥作用也相当容易。我只需编写一个Python 脚本即可完成此操作。Python 有一个非常好的用于解析 CSV 文件的库,并且它与 sqlite 的接口非常简单。
只需加载 CSV,猜测并检查列类型。设计一个create table封装此信息的方法,然后发出您的insert intos. 我无法想象这会占用超过 20 行 Python 代码。
| 归档时间: |
|
| 查看次数: |
4754 次 |
| 最近记录: |