Ruby: CSV :: Comment utiliser la note de tableau

La bibliothèque CSV est difficile à utiliser. Au moins, je suis difficile à utiliser. Écrivez-le sous forme de mémorandum. Je suis heureux que vous puissiez l'utiliser comme référence.

Nouveau

Transmettez une instance CSV :: Row. Je ne sais pas s'il existe un autre moyen. Je sens que ce n'est pas intuitif

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row1])
pp table
#<CSV::Table mode:col_or_row row_count:2>

Obtenir des en-têtes

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row1])
pp table.headers
["header1", "header2"]

Obtenir en spécifiant une ligne

Je pensais que [0] pourrait obtenir l'en-tête, mais j'ai obtenu la première ligne (Est-ce une ligne?) En excluant l'en-tête. Indice? Il semble que si vous spécifiez, vous pouvez obtenir une ligne au lieu d'un en-tête.

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row1])

pp table[0]
pp table[1]
pp table["header1"]
#<CSV::Row "header1":"row1_1" "header2":"row1_2">
nil

Obtenir en spécifiant l'en-tête

C'était un comportement intuitif.

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row1])

pp table["header1"]
["row1_1"]

Génération de fichiers CSV

    headers = ["header1", "header2"]

    row1 = CSV::Row.new(headers, ["row1_1", "row1_2"])
    row2 = CSV::Row.new(headers, ["row2_1", "row2_2"])
    table = CSV::Table.new([row1, row2])

    CSV.open("test.csv", "w", headers: headers, write_headers: true, force_quotes: true) do |csv|
      table.each { |row| csv << row }
    end
$ cat test.csv 
"header1","header2"
"row1_1","row1_2"
"row2_1","row2_2"
Faites-en une méthode
  def save_csv_table(csv_table)
    headers = csv_table.headers
    CSV.open("test.csv", "w", { headers: headers, write_headers: true, force_quotes: true }) do |csv|
      csv_table.each{ |row| csv << row }
    end
  end

Recommended Posts

Ruby: CSV :: Comment utiliser la note de tableau
Comment utiliser le retour Ruby
Ruby: Comment utiliser les cookies
Comment utiliser Ruby on Rails
Comment utiliser la méthode Ruby inject
Longueur, taille, nombre de rubis Comment utiliser
[Ruby] Comment utiliser slice pour les débutants
Comment utiliser la classe Java Scanner (Remarque)
[Ruby on Rails] Comment utiliser redirect_to
[Note] Comment utiliser Rails 6 Devise + cancancan
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
[Comment utiliser l'étiquette]
Comment utiliser l'identité
Comment utiliser le hachage
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Comment utiliser Map
[Ruby] Comment convertir un fichier CSV en Yaml (Yml)
[Ruby] Comment utiliser la méthode gsub et la sous-méthode
Comment utiliser le contrôle segmenté et les points à noter
[Introduction à Ruby] Comment utiliser la méthode slice
[Ruby] Comment utiliser la sortie standard dans le branchement conditionnel
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité
[Rails] Comment utiliser enum
Comment utiliser java Facultatif
Comment utiliser JUnit (débutant)
[Rails] Comment utiliser enum
[Ruby] Comment utiliser rbenv (la version `x.x.x 'n'est pas installée)
Comment utiliser @Builder (Lombok)
Comment utiliser la classe Java
[Ruby] Comment commenter
Comment utiliser Big Decimal
[Java] Comment utiliser removeAll ()
Comment utiliser String [] args
Comment utiliser la jonction de rails
Comment utiliser Java Map
Commande Rbenv pour utiliser Ruby
Comment utiliser Dependant :: Destroy
Comment utiliser Eclipse Debug_Shell
Comment utiliser Apache POI