Skip to content

EthanZeng1992/parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

parser

parser is a class to parse user information from csv file. It use ruby class csv.

This class provides a complete interface to CSV files and data. It offers tools to enable you to read and write to and from Strings or IO objects, as needed.

Usage

require "parser"
csv = Parser.new("path/to/file.csv")

# get user information
user = csv.user

# return structure like :
user: { 
  studentid: '1', name: 'user-1', idnumber: '1',
  organizations: [
    { name: '2012春法学本城中', description: '' } 
    { name: '法学', description: '090901203010100' } 
  ],
  courses: [
    { number: '1', name: 'course-1', score: '90' } 
    { number: '2', name: 'course-2', score: '80' } 
    { number: '3', name: 'course-3', score: '70' } 

    ...
  ]
}


# put user datas to database 
@csv = Parser.new("path/to/file.csv")
@user = @csv.user

begin 
  user = User.create(
    studentid: @user.studentid,
    name:      @user.name,
    idnumber:  @user.idnumber
  )

  @user.organizations.each do |organization|
    Organization.create(
      name:        organization.name,
      description: organization.description,
      user_id:     user.id
    )
  end

  @user.courses.each do |course|
    Course.create(
      number:  course.number,
      name:    course.name,
      score:   course.score,
      user_id: user.id
    )
  end
  @user = @csv.user
end while @user != nil

xls2csv

xls2csv.sh: Convert excel to csv

$ gem install roo 

change "path_to_xls" and "path_to_save_csv" to your own file path.

$ chmod +x xls2csv.sh
$ ./xls2csv.sh

About

A class to parse user information from csv file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages