Ruby에서 CSV로 배열 출력

Oluwafisayo Oluwatayo 2024년2월15일
  1. CSV란?
  2. Ruby에서 CSV.open 메서드를 사용하여 CSV 파일 생성
  3. Ruby에서 File.write 방법을 사용하여 CSV 파일 생성
  4. Ruby를 사용하여 터미널 내부에 CSV 파일 생성
  5. 결론
Ruby에서 CSV로 배열 출력

긴 정보 목록을 다룰 때 읽기 쉽도록 정리해야 할 때가 있습니다. 이것이 바로 CSV가 제공하는 것입니다.

CSV란?

CSV는 쉼표로 구분된 값을 의미합니다. 즉, 쉼표로 구분하여 데이터 형식을 지정합니다.

이러한 출력 형식은 우리의 데이터를 테이블 형식으로 잘 정리하여 개인이 이러한 데이터를 살펴볼 때 필요한 경우 쉽게 읽고 편집할 수 있도록 합니다.

CSV 데이터는 자체 .csv 형식 또는 보다 일반적인 .txt 파일로 저장할 수 있습니다.

Ruby 프레임워크를 사용하여 배열의 데이터에서 CSV 파일을 만드는 다양한 방법을 살펴보겠습니다.

Ruby에서 CSV.open 메서드를 사용하여 CSV 파일 생성

이 예에서는 CSV.open 함수를 생성하고 파일을 저장할 경로를 입력합니다. 그런 다음 CSV 태그 안에 CSV 형식으로 정리하려는 데이터 배열을 입력합니다.

새 파일을 만들고 이름을 new.rb로 지정하고 다음 코드를 입력합니다.

require 'csv'
CSV.open("C:/Users/HP/Downloads/csv/outfield.txt", "w") do |csv|
  csv << ["one", "two", "three", "four"]
  csv << ["eight", "five"]
  # ...
end

이 코드를 실행하면 CSV.open 괄호에 지정한 경로에 outfield.txt 파일이 생성된 것을 볼 수 있습니다. 그런 다음 지정된 경로 내에 파일을 만들 수 있도록 경로 바로 옆에 "w"를 추가한 것을 볼 수 있습니다.

csv 열기 기능 사용

거기에서 "w"를 제거하면 쓰기용으로 열리지 않음(IOError)이라는 오류 메시지가 표시됩니다.

Ruby에서 File.write 방법을 사용하여 CSV 파일 생성

이 방법에서는 파일을 만들려는 경로에 "w"를 추가할 필요가 없습니다. 이는 File.write가 쓰기를 위한 경로를 즉시 연 다음 파일을 생성하기 때문입니다.

새 파일을 만들고 이름을 new.rb로 지정하고 다음 코드를 입력합니다.

tables = [["first", "second", "third"],["army", "marine", "navy", "blackops"], ["James", "Bond", "007"]]
require "csv"
File.write("C:/Users/HP/Downloads/csv/outfe.txt", tables.map(&:to_csv).join)

여기에서는 tables 태그 안에 배열을 만들었습니다. 그런 다음 File.write() 함수 내에서 파일을 생성할 위치를 지정했습니다.

그런 다음 map 기능을 사용하여 테이블 배열의 데이터를 CSV 형식으로 반환합니다. 이 코드를 실행하면 잠시 후 지정한 경로에 새 파일이 생성된 것을 볼 수 있습니다.

파일 쓰기 기능 사용

Ruby를 사용하여 터미널 내부에 CSV 파일 생성

이 방법은 CSV 형식의 데이터로 파일을 생성하지 않습니다. 대신 터미널에 바로 데이터를 표시합니다. 이는 결과를 빠르게 사용하거나 더 보기 좋은 형식으로 데이터를 읽고 싶을 때 유용합니다.

새 파일을 만들고 이름을 new.rb로 지정한 다음 다음 코드를 입력합니다.

require 'csv'
csv_string = CSV.generate do |csv|
  csv << ["google", "bing", "ask", "search"]
  csv << ["find", "seek"]
  # ...
end

CSV.generate 함수는 csv 괄호 안의 배열을 가져와 CSV 형식으로 데이터를 생성합니다. 코드를 실행하면 터미널 내부에 CSV 형식의 데이터가 표시됩니다.

터미널을 사용한 문자열

결론

데이터를 쉼표로 구분하여 명확하게 정리하는 CSV의 기능은 긴 데이터 목록을 훑어보는 데 도움이 됩니다.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn