2013-03-14 3 views
1

내가 루비 1.9.3를 사용하여 두 개의 질문이 있어요 :파이프로 구분 된 파일을 해시로 변환 하시겠습니까?

(1) 내가 해시?

name | student-id | maths | english | science | grade | remarks | 
abc | 10001  | 90 | 80  | 80  | A+ | excellent | 
. 
. 
. 

에 파이프로 구분 된 여러 데이터 필드가있는 텍스트 파일을 변환하려면 어떻게 (2) 또한, I는 다른 해시 새로운 칼럼이있는 경우 :

| Stream  | Average | 
| Com Science | 90  | 
| Elec Eng | 85  | 
| Mech Eng | 80  | 
. 
. 
. 
0 | Options |가 다른 해시가

name | student-id | maths | english | science | grade | remarks | options  | 
abc | 10001  | 90 | 80  | 80  | A+ | excellent | <condition> | 
. 
. 
. 

,

평균 점수를 기반으로 모든 다른 스트림에 자격이있는 모든 학생을 나열하고 싶습니다.

+0

키와 값은 무엇입니까? – Flauwekeul

+0

@newruby : 네 개의 공백을 사용하여 질문의 코드 부분을 들여 씁니다. –

+0

그래서 기본적으로 파이프로 구분 된 테이블 자체의 필드가 있습니까? 의미는 마스터 테이블의 각 행은 "옵션"하위 테이블에서 여러 행을 가질 수 있습니까? –

답변

2

시작하려면 Ruby의 기본 제공 CSV 클래스를 사용하십시오. ','의 기본값을 무시하려면 :col_sep 값을 '|'으로 지정하십시오. CSV.newCSV.open 모두 해당 옵션을 지정할 수 있습니다.

+0

정확한 방향으로 나를 가리켜 주셔서 고마워, 나는 "smarter_csv"보석을 사용할 수 있고 내가 필요한 것을 정확하게 할 수있다. – newruby

관련 문제