gpt4 book ai didi

ruby - 使用 Ruby 脚本将 CSV 文件导入 sqlite3

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:08 25 4
gpt4 key购买 nike

我有一个 ruby​​ 脚本,它将从一些 CSV 文件中读取数据并将它们导入到 sqlite 数据库中。我可以使用以下命令从控制台轻松完成此任务:

sqlite> .import <filename> <tablename>
sqlite> .import test.csv PROJECT_REPORT

如何实现同窗体Ruby脚本?

我正在做类似以下的事情(只是一个工作范围):

 CSV.foreach("timelog.csv") do |row|
database.execute("INSERT INTO PROJECT_REPORT(
Date,User,Activity,Comment)
values
(#{row[0]}, '#{row[1]}', '#{row[2]}', '#{row[3]}') ")
end

最佳答案

如果这是一份一次性工作,并且您有一个可以运行的简单脚本,为什么不坚持使用您已有的呢?如果您需要扩展 ruby​​ 脚本并想扩展它,请查看 DataMapper (或其他 ORM)作为 SQLite 数据库的接口(interface)。创建一个简单的类来包含您的日期、用户、事件和评论字段,并让 DataMapper 为数据库完成繁重的工作。

更新了数据映射器示例这是数据映射器实现的一个简单伪示例。 这没有经过测试!

#datamapper configuration here
#.
#.
class UserActivity
include DataMapper::Resource

property :id, Serial
property :log_date, DateTime
property :user, Text
property :activity Text
property :comment Text
property :created_at, DateTime
end

所以在你上面的例子中使用它......

CSV.foreach("timelog.csv") do |row|
userActivity = UserActivity.new( :log_date => row[0], :user => row[1], :activity => row[2], :comment => row[3])
userActivity.save!
end

显然这不是一个完整的解决方案,但它可以帮助您入门。

关于ruby - 使用 Ruby 脚本将 CSV 文件导入 sqlite3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9502164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com