问题标签 [fastercsv]

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.

0 投票
1 回答
3322 浏览

ruby-on-rails-3 - 使用 FasterCSV 导入 CSV 文件时遇到问题


我是 Rails 新手,我已经知道如何从我的数据库中导出结果,但是我在从 CSV 文件创建新记录时遇到了问题。使用下面列出的代码,我希望能够导入 CSV 文件并使用来自用户的会话数据填写最后两列。现在我只是插入了一个静态数字来尝试让它工作。我目前收到“无法将 ActionDispatch::Http::UploadedFile 转换为字符串”作为错误消息

CSV 文件

name,task,expected_results,require_id 测试名称 1,打开文件,打开,t 测试名称 2,读取文件,读取,t 测试名称 3,关闭文件,关闭,f

控制器

看法

数据库迁移

结束结束

对此的任何帮助都将不胜感激

~凯尔

0 投票
3 回答
2320 浏览

ruby - 尝试使用 Ruby 1.8 / FasterCSV 解析带有变音符号等的 CSV 文件时出现问题

我有一个 CSV 文件,其中包含这样的行:

我正在使用带有 FasterCSV gem 的 Ruby 1.8,如下所示:

对于大多数行,它工作正常,但对于这些行,带有特殊字符的字段被截断,因此我们将“St”保存在数据库中。

我已经把 $KCODE="u" 和有/没有编码选项,无济于事。

数据库是 MySQL。

编辑:

我尝试将代码推送到 Heroku (Postgres),现在得到一个新错误:

2011-02-19T17:19:01-08:00 app[web.1]: ActiveRecord::StatementInvalid (PGError: ERROR: invalid byte sequence for encoding "UTF8": 0xe46474

2011-02-19T17:19:01-08:00 app[web.1]:提示:如果字节序列与服务器预期的编码不匹配,也可能发生此错误,该编码由“client_encoding”控制。

2011-02-19T17:19:01-08:00 app[web.1]: : INSERT INTO "import_objects" (... "title", ...) VALUES (..., 'St?dtische Galerie im Lenbachhaus',...)返回“id”):

:(

0 投票
2 回答
2755 浏览

ruby-on-rails - FasterCSV 用于在 Rails 中导入用户

嗨,我正在尝试使用 FasterCSV 从 CSV 文件导入用户

我有

在我的用户控制器中,我有一个类似的方法

当我执行上述操作并在日志中检查它时,我收到错误消息

FasterCsv 根本不读取文件。如何让它阅读我使用 sudo gem install fastercsv 安装了 gem

0 投票
1 回答
1224 浏览

ruby - 使用 Ruby 的 fastcsv 和字符编码

使用 Ruby 1.8.7,我想在我的系统中接受 csv,即使这是一个管理应用程序,似乎我可以获得几种不同类型的 csv。在我的 Mac 上,如果我使用“windows csv”选项从 excel 导出,则默认情况下,fastcsv 可以将其读出。在 Windows 上,我似乎得到了 utf-16 编码的 csvs(我还没有弄清楚如何解析)

允许用户上传可能是 utf8、utf16、ascii 等类型格式的 csv、检测和解析它们似乎是一件很常见的事情。有没有人弄清楚这一点?

我开始看 UniversalDetector 来帮助我检测,然后使用 Iconv 进行转换,但这似乎很棘手,希望有人能弄清楚:)

0 投票
1 回答
229 浏览

ruby-on-rails - 使用fastcsv将字段从csv保存到数据库的问题

我正在尝试将我的 csv 数据保存到与项目模型关联的表项目中。

这就是我的 csv 所拥有的:

第一行显示项目表的字段。

在这里,我使用 fastcsv 来处理我的 csv 和要上传的回形针。

我能够处理文件读取内容并且也能够填写该字段这里是处理代码:

但问题是,当它处理它时,当我在控制台中检查@item 时,它看起来像这样:

谁能告诉我为什么我得到这种字符串而不是我在 csv 文件中输入的简单字符串?正因为如此,它也没有保存到项目表中,我尝试了所有可能的格式,但似乎没有任何效果。我想要 :name => "Uploaded Item Number 1"而不是:name=>"\000'\000U\000p\000l\000o\000a\000d\000e\000d\000 \000I\000t\000e\000m\000 \000N\000u\000m\000b\000e\000r\000 \0001\000'\000" . 任何帮助将不胜感激。提前致谢 :)

0 投票
1 回答
1003 浏览

ruby-on-rails - 如何从字符串中删除'引号?

我正在尝试使用 fastcsv 将一些数据从我的 csv 上传到数据库。这是我的 csv 的样子:

我正在以我想要的方式获取数据,但是字符串的形成方式如下::name => "'Uploaded Item Number 1'", :sub_category_id => "'KRT'"..因此,当我将此数据保存到项目表中时,包含此数据的字段如下所示: “名称中已上传项目编号 1”“ KRT' in sub_category_id .. 而不是简单的Uploaded Item Number 1 in nameKRT in sub_category_id。这个单引号(')如何从字符串中删除,知道吗?

0 投票
1 回答
913 浏览

ruby-on-rails - 从数据库读取十进制值时输出错误

我有一个奇怪的问题,我就是想不通。我将货币作为小数存储在我的数据库中。我正在读取 CSV 文件并将字符串转换为十进制以存储在数据库中。检查数据库时,这些值似乎没有正确存储,大多数都正确存储,但由于某种原因,我拥有的值 1000 存储为 1,而 2299 存储为 2,因此数字超过 999.99 显然存在问题

我按如下方式运行了数据库迁移:

以下是用于存储 CSV 文件中的值的代码:

(.abs 是因为出钱值只是在 CSV 文件中存储为负值)。

当我使用控制台创建一个新事务并转换一个 1000 的字符串并使用相同的方法存储它时,它工作正常并且值存储为 1000.0。

有人知道为什么会这样吗?虽然这是一个 FasterCSV 问题,但我不会有这种情况,但我想如果 CSV 数字没有被正确读取,这是可能的。

谢谢你的帮助,

汤姆

0 投票
1 回答
548 浏览

ruby-on-rails - FasterCSV(似乎)在 Rails 3.0.5 中不起作用

我正在尝试从 Rails 应用程序导出数据,并让用户在点击某个控制器#action 时下载 CSV 文件。

我找到了这篇文章并完全使用了示例代码。 http://oldwiki.rubyonrails.org/rails/pages/HowtoExportDataAsCSV

事实上,我确实得到了一个 CSV 文件,但其中只有一行输出:

这是相关文件中的第 35、36 和 37 行。

我正在使用 Rails 3.0.5 并将以下内容添加到我的 Gemfile 中:

是什么赋予了?

0 投票
1 回答
780 浏览

ruby - 如何使用 ruby​​ FasterCSV 删除重复的列

我正在使用 Ruby 1.8 和 FasterCSV。

我正在阅读的 csv 文件有几个重复的列。

...ETC

我想将其浓缩为:

有没有通用的方法来做到这一点?

目前我的解决方案是这样的:

0 投票
1 回答
1699 浏览

ruby-on-rails - rails 3 ruby​​ 1.9.2 CSV“已经初始化常量..”警告

我想在我的一个模型中添加读取/写入数据到 CSV 文件的功能。在 1.9 之前的 ruby​​ 版本中,这将使用 fastCSV 完成,但现在这是 ruby​​ 的一部分。我有以下设置:

这很好用,但是当我开始运行测试时,我会收到大量表单的警告

如何删除这些警告?