Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

193
Views
csv-parse arroja una cotización de apertura no válida: se encuentra una cotización dentro de un campo en la línea

Sé que hay otras publicaciones, pero ninguna de ellas parece solucionar mis problemas. Estoy usando csv-parse con node js. Este es el encabezado CSV y el registro que estoy tratando de analizar.

 sku,description,productUnitOfMeasure,unitCost,retailPrice,wholesalePrice,dropShipPrice,assemblyCost,planner,comments,productId,fileUpdate,SkuStatus,Master Planning Family,Category,Sub-Category,Brand,ShortCode,Import/Domestic,Inventory Value,Master Pack Quantity,Pallet / TI / HI,40HC Quantity,Product Group ID 032406021945-GreenBay,TFAL B2080264 INIT TNS GRY SAUTE PN 8",EA,7.72,13.99,0.00,0.00,0,Whitney Ehlke-2307,,032406021945,2022-01-25,New,COOKWARE,OPENSTOCK,NONE,T-FAL,B2080264,Domestic,208.44,3,0/0/0,0,23

No tengo control sobre este archivo. Solo necesito poder analizarlo. Verás que hay una comilla doble al final de la descripción: TFal B2080264 INI TNS GRY SAUTE PN 8" .

Necesito que las comillas dobles permanezcan allí y que se analicen como un campo. Sigo recibiendo este error:

Cotización de apertura no válida: se encuentra una cotización dentro de un campo en la línea 2.

La cita no es una apertura. Es técnicamente un cierre. Pero independientemente, no se analizará.

Este es actualmente mi código:

 const parser = fs.createReadStream(filePath).pipe( parse({ columns: true, relax_quotes: true, escape: '\\', ltrim: true, rtrim: true }) )

Eliminé algunos de los parámetros y probé otros, sin éxito. ¿¿Algunas ideas??

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Este código funciona bien con la última versión de csv-parse (5.0.4). ¿Qué versión del paquete csv-parse está utilizando? Pregunto porque parece que la opción puede haber sido renombrada de relax a relax_quotes recientemente.

Entonces, creo que la solución es:

  1. actualice a la última versión de csv-parse e indique relax_quotes , o
  2. quédese con su versión actual de csv-parse e indique relax

Solo para asegurarme de que relax_quotes funciona con la biblioteca actual, probé el siguiente código y funcionó como se esperaba:

 const csv = require('csv-parse'); const fs = require('fs'); const parser = fs.createReadStream("70880341.csv").pipe( csv.parse({ columns: true, relax_quotes: true, escape: '\\', ltrim: true, rtrim: true }) ) const records = []; parser.on('readable', function() { let record; while ((record = parser.read()) !== null) { records.push(record); } }); parser.on('error', function(err) { console.error(err.message); }); parser.on('end', function() { console.log(records); });

Resultado:

 [{ sku: '032406021945-GreenBay', description: 'TFAL B2080264 INIT TNS GRY SAUTE PN 8"', productUnitOfMeasure: 'EA', ... }]
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!