ruby读取csv行数

Python010

ruby读取csv行数,第1张

读取csv

文件中读取:一次读入全部(设置headers使 CSV#shift() 以CSV::Row对象返回而不是数组;使

require'csv'CSV#read() 返回 CSV::Table 对象而不是数组)CSV.read('test.csv')#=>Array#headers默认为false,如果设置为true,csv的第一行将被视为标题CSV.read('test.csv',headers:true)#=>CSV::Table#headers设置为数组,这个数组将被作为标题CSV.read('test.csv',headers:[1,2,3,4,5])#headers设置为字符串,这个字符串内容将被作为标题CSV.read('test.csv',headers:"1,2,3,4,5")

​ 文件中读取:一次读入一行

#由于headers配置,返回类型发生变化(这个方法默认为第一行是标题,不会进行返回)CSV.foreach'test.csv'do|row|puts row.class#=>ArrayendCSV.foreach('test.csv',headers:true)do|row|puts row.class#=>CSV::Rowend#return_headers:true 返回标题CSV.foreach('test.csv',return_headers:true)do|row|p row#=>返回Arrayend

​ 字符串中读取:一次读取一行

CSV.parse("CSV,data,String")do|row|# use row here...end

​ 字符串中读取:全部读取

CSV.parse("CSV,data,String")#[]方法需要返回的类型为CSV::ROW所以设置参数headers:truecontent = File.read('data.csv') csv = CSV.parse(content,headers:true) sum =0csv.eachdo|row|sum += row['id'].to_iendputs sum

大概原理告诉一下:

用HTML语法建立A页表单页,为各个表格设置NAME属性,然后以POSE方式将数据发送至用脚本语言建立的B页,B页为综合处理页,数据在B页中通过验证(如,用户名太段\密码太简单等等,当然,这一步也可省略),然后B页用SQL语法打开数据库C.MDB,读取C.MDB指定表段数据到寄存中,然后根据A表发送过来数据的各个NAME属性将数据寄存到综合数据中并自动排序,最后,将数据写入数据库,关闭数据库连接.

原理说清楚了,而要实现这么多步骤,不是一个DW能实现的.你必须得会HTML语法(表单的建立)\脚本语言(主要是条件语句IF)\SQL语句(连接数据库及相关操作)\以及ACCESS的使用(建立MDB数据库)