标签: fastercsv

StreamReader不从csv文件中读取日文字符

使用带有日文字符双引号字段的流阅读器读取csv文件.它不读日文字符并将其视为unicode字符.我尝试了不同的编码类型,但它不适合我.请与我分享一些想法或解决此问题的其他解决方案.或者有更好的方法来做到这一点.

public DataTable ReadDataFromCSV(string path, char delim)
{
    string fulltext;
    string[] arrColumnNames;
    string[] arrColumnValues;
    string[] arrRows;
    int i, j, n;

    System.Data.DataTable dt = new System.Data.DataTable();
    DataRow row;
    if (delim.ToString().Length < 1)
    {
        delim = ',';
    }
    try
    {
        //' check that the file exists before opening it
        if (File.Exists(path))
        {
            using (TextReader sr = new StreamReader(path,Encoding.UTF8))
            {
            fulltext = sr.ReadToEnd();
            arrRows = fulltext.Split('\n');
            arrColumnNames = arrRows[0].Replace('"', ' ').Trim().Split(delim);
            //'add columns to a datatable
            for (n = 0; n < arrColumnNames.Length …
Run Code Online (Sandbox Code Playgroud)

c# fastercsv winforms c#-3.0 c#-4.0

2
推荐指数
1
解决办法
1598
查看次数

导入一个巨大的csv数据文件并使用标头使用Ruby访问列

我需要导入一个巨大的csv数据文件(6880列),我需要能够使用列标题来访问它.

什么是最好的方式?

速度并不重要.清晰度是.

ruby csv fastercsv

1
推荐指数
1
解决办法
895
查看次数

进入那个数据库!使用Ruby解析CSV

我有一个格式如下的CSV文件:

name,color,tasty,qty
apple,red,true,3
orange,orange,false,4
pear,greenish-yellowish,true,1
Run Code Online (Sandbox Code Playgroud)

如您所见,Ruby OO世界中的每一列都代表了各种类型 - 字符串,字符串,布尔值,整数.

现在,最终,我想解析文件中的每一行,确定适当的类型,并通过Rails迁移将该行插入数据库.例如:

Fruit.create(:name => 'apple', :color => 'red', :tasty => true, :qty => 3)
Run Code Online (Sandbox Code Playgroud)

救命!

ruby csv ruby-on-rails fastercsv

1
推荐指数
1
解决办法
1671
查看次数

fasterCsv异常处理

我正面临csv文件中的MalformedCSVError问题.下面给出了我被卡住的地方:

"#字面上有数百个"IP-to-Country"数据库来源."

因为该行包含双引号.此处停止执行异常是:FasterCSV :: MalformedCSVError

我怎么能处理这种情况.我也不能编辑csv文件..

请帮帮我.

ruby fastercsv

1
推荐指数
1
解决办法
1215
查看次数

Ruby CSV读取多行字段

我从SQL导出表和查询,其中一些字段是多行的.

Ruby(1.9+)读取CSV的方式似乎是:

require 'csv'

CSV.foreach("exported_mysql_table.csv", {:headers=>true}) do |row|
    puts row
end
Run Code Online (Sandbox Code Playgroud)

如果我的数据是这样的,那么效果很好:

"id","name","email","potato"
1,"Bob","bob@bob.bob","omnomnom"
2,"Charlie","char@char.com","andcheese"
4,"Doug","diggyd@diglet.com","usemeltattack"
Run Code Online (Sandbox Code Playgroud)

(第一行是标题/属性)

但如果我有:

"id","name","address","email","potato"
1,"Bob","--- 
- 101 Cottage row
- Lovely Village
- \"\"
","bob@bob.bob","omnomnom"
2,"Charlie","--- 
- 102 Flame Street
- \"\"
- \"\"
","char@char.com","andcheese"
4,"Doug","--- 
- 103 Dark Cave
- Next to some geo dude
- So many bats
","diggyd@diglet.com","usemeltattack"
Run Code Online (Sandbox Code Playgroud)

然后我得到错误:

.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/csv.rb:1894:in `block (2 levels) in shift': Missing or stray quote in line 2 (CSV::MalformedCSVError)
Run Code Online (Sandbox Code Playgroud)

这似乎是因为该行的末尾没有近距离引用,因为它跨越了几行.

(我试过'FasterCSV',因为ruby 1.9,宝石变成了'csv')

ruby mysql csv fastercsv

1
推荐指数
1
解决办法
4424
查看次数

ActiveRecord`from_csv`方法 - 如何使它更性感?

我编写了从CSV加载数据到DB的方法.对我而言,它有点不合时宜,而且远离DRY:

  def self.from_csv(data)
    c = Company.new
    FasterCSV.parse(data) do |row|
      c.name = row[0]
      c.street = row[1]
      c.street_number = row[2]
      c.apartament_number = row[3]

      c.city = row[4]
      c.post_code = row[5]
      c.post_office_city = row[6]

      c.nip = row[7]
      c.regon = row[8]
      c.vatin = row[9]
    end
  end
Run Code Online (Sandbox Code Playgroud)

如何使它更性感或可能已经有任何lib加载数据?

ruby csv activerecord ruby-on-rails fastercsv

0
推荐指数
1
解决办法
599
查看次数

标签 统计

fastercsv ×6

ruby ×5

csv ×4

ruby-on-rails ×2

activerecord ×1

c# ×1

c#-3.0 ×1

c#-4.0 ×1

mysql ×1

winforms ×1