Eu tenho um arquivo de texto enorme que contém esta estrutura:
title;description;date
O problema é que description
main contém parágrafos, como:
title;description;data
MyText;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam est dolor, molestie a rhoncus vel, congue sed diam. Vestibulum pellentesque libero eleifend dolor finibus vestibulum. Curabitur at suscipit tellus, at viverra ex. Nulla sem nibh, laoreet a porta a, convallis ac augue. Aliquam diam sapien, rutrum sed nulla lobortis, hendrerit rutrum diam. Donec tellus quam, maximus at mollis sit amet, consequat eget orci. Duis id vestibulum metus. Nulla convallis tortor diam, a tempus quam mollis sed. Aliquam at fermentum nibh, quis sodales orci. Maecenas viverra ultrices lobortis. Morbi viverra, tortor in mattis tincidunt, augue erat condimentum leo, a dignissim nulla lacus ac augue. Sed tincidunt rutrum sapien, sodales commodo sapien. Sed ultrices, augue vitae porta viverra, eros magna pellentesque leo, in bibendum enim enim non nulla. Nullam vel venenatis leo.
Sed sed vulputate nulla. Nullam hendrerit justo quis ante aliquet ullamcorper. Praesent at rhoncus ipsum, in sodales felis. Nam eu ante accumsan urna tempus rutrum at in felis. Maecenas eleifend enim nec augue eleifend, ut sagittis leo tincidunt. In non felis pretium, accumsan mi sit amet, hendrerit lectus. Nullam auctor mi non ligula aliquam commodo. Nunc mollis consequat purus, sit amet rutrum elit sodales sit amet. Suspendisse potenti. Ut a tempor urna. Etiam vitae venenatis ex.
Nunc ut mattis nibh. Morbi varius accumsan purus, vel facilisis eros suscipit id. Sed non accumsan arcu, pretium pulvinar urna. Quisque a neque faucibus, condimentum velit eget, varius lorem. Duis varius iaculis ullamcorper. Maecenas vitae fringilla mi, ultrices finibus justo. Suspendisse vel nibh tortor. Nullam ullamcorper justo augue, molestie lacinia lorem varius et. Etiam sed pulvinar metus, ac euismod arcu. Morbi laoreet dolor volutpat, tempor nunc sit amet, lobortis ipsum. Quisque posuere commodo sollicitudin. Vivamus consectetur ligula sed ante tristique congue. Duis faucibus lacus tellus, sed consectetur purus ornare vitae.;2023-07-12
Como faço para converter isso para JSON usando o terminal do macOS?
NOTA: Não quero usar conversores online por causa de dados confidenciais.
Eu tentei coisas como
ruby -r json -r csv -e 'puts CSV.parse(STDIN, headers:true).map(&:to_h).to_json' < myFile.csv > myFile.json
Mas estes falham. Suspeito porque eles interpretam as quebras de linha no parágrafo como o final de uma linha CSV e o início da próxima.
Quando faço um cat -e myFile.csv
vejo $
como marcador para as linhas e para as quebras dentro dos parágrafos. Mesmo marcador!
Quando eu emito um file
no CSV
eu vejo
Unicode text, UTF-8 text, with very long lines, with CRLF line terminators
Eu não tenho ideia de como fazer isso.
Obrigado
O principal problema é que você tem um CSV errado. Você deve ter delimitadores de aspas duplas nas células que possuem um retorno de carro (um exemplo abaixo).
Usando Miller e um CSV correto que você pode executar
obter
Um CSV correto