CSV parser fails with mixed quoting and non-standard row_sep
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par reproduire l’exemple avec CSV.generate et CSV.parse en utilisant row_sep: "|\n", puis comparez les lignes entre guillemets et sans guillemets aux cas qui réussissent. Suivez la manière dont le parseur gère les séparateurs de lignes et le guillemetage des champs ; le travail est terminé lorsque l’entrée avec guillemets mixtes est analysée sans CSV::MalformedCSVError, tandis que les alternatives existantes restent valides.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
opts = {row_sep: "|\n", col_sep: ","}
CSV.parse(CSV.generate(opts) { |csv|
csv << ["yes, it's true"];
csv << [ "CSV is broken"];
csv << ["uhoh!"]; }, opts)
In the example above, the parser will raise a CSV::MalformedCSVError (Unquoted fields do not allow new line <"\n"> in line 2.) error.
It will succeed if any of the following are done:
- pass
force_quotes: truetogenerate - add a comma in each row
- remove the comma from the first row
- use
row_sep: "\n"
Therefore, the problem seems to be that a non-standard row_sep + lines with a field being quoted in one row and unquoted in the next.
- Langage dominant
- Ruby
- Étoiles
- 218
- Forks
- 135
- Merge moyen
- 15 h 40 min
- PR mergées (30 j)
- 1
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ruby/csv
-
Timeout on Windows Ouverte
-
FiberError/NoMemoryError error related to csv gem occurs when upgrading from ruby 3.1 to 3.3 Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Recipes not copied downstream Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
Issues similaires
-
バグ
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
-
Version bump for OpenVox 9 Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
voxpupuli/puppet-epel#186 · 1 commentaire ·
-
external_created_at is no longer used for the message timestamp since the new message UI (v4.4.0) OuverteBug Frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
TheOdinProject/curriculum#31402 · 1 commentaire ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100