archivo - convirtiendo CSV/XLS a JSON?
json to csv python (10)
Acabo de encontrar esto:
http://tamlyn.org/tools/csv2json/
(Nota: debe tener su archivo csv disponible a través de una dirección web)
¿Alguien sabe si hay una aplicación que me permita encubrir de preferencia XLS a JSON?
También me conformaré con un convertidor de CSV, ya que es probable que termine escribiendo solo si no hay nada.
Desde Powershell 3.0 (incluido con Windows 8, disponible para Windows 7 y Windows Server 2008 pero no para Windows Vista), puede usar el comando incorporado convertto-json:
PS E:> $topicsjson = import-csv ./itinerary-all.csv | ConvertTo-Json
PS E:/> $topicsjson.Length
11909
PS E:/> $topicsjson.getType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
En lugar de convertidores codificados, ¿qué hay de soporte CSV para Jackson (procesador JSON): https://github.com/FasterXML/jackson-dataformat-csv . Entonces, el núcleo Jackson puede leer JSON en POJOs, Maps, JsonNode
, casi cualquier cosa. Y el soporte de CSV puede hacer lo mismo con CSV. Combine los dos y es un convertidor muy potente pero simple entre múltiples formatos (hay backends para XML, YAML ya, y más que se agregan).
Un artículo que muestra cómo hacer esto se puede encontrar here .
Esto funcionó perfectamente para mí y NO requiere una carga de archivo:
Esto funciona para mí y funciona desde el lado del cliente: http://www.convertcsv.com/csv-to-json.htm
Ninguna de las soluciones existentes funcionó, así que rápidamente pirateé un guión que haría el trabajo. También convierte cadenas vacías en nulos y separa la fila del encabezado para JSON. Puede ser necesario ajustar según el dialecto CSV y el juego de caracteres que tenga.
#!/usr/bin/python
import csv, json
csvreader = csv.reader(open(''data.csv'', ''rb''), delimiter=''/t'', quotechar=''"'')
data = []
for row in csvreader:
r = []
for field in row:
if field == '''': field = None
else: field = unicode(field, ''ISO-8859-1'')
r.append(field)
data.append(r)
jsonStruct = {
''header'': data[0],
''data'': data[1:]
}
open(''data.json'', ''wb'').write(json.dumps(jsonStruct))
Pruebe la pequeña herramienta gratuita:
Puedes probar esta herramienta que hice:
Convierte a JSON, XML y otros.
También es del lado del cliente, por lo que tus datos nunca abandonan tu computadora.
Si no puede encontrar una solución existente, es bastante fácil crear una básica en Java. Acabo de escribir uno para un cliente y me llevó solo un par de horas, incluidas las herramientas de investigación.
Apache POI leerá el binario de Excel. http://poi.apache.org/
JSONObject construirá el JSON
Después de eso, solo es cuestión de recorrer las filas en los datos de Excel y crear una estructura JSON. Aquí hay un pseudo código para el uso básico.
FileInputStream inp = new FileInputStream( file );
Workbook workbook = WorkbookFactory.create( inp );
// Get the first Sheet.
Sheet sheet = workbook.getSheetAt( 0 );
// Start constructing JSON.
JSONObject json = new JSONObject();
// Iterate through the rows.
JSONArray rows = new JSONArray();
for ( Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext(); )
{
Row row = rowsIT.next();
JSONObject jRow = new JSONObject();
// Iterate through the cells.
JSONArray cells = new JSONArray();
for ( Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext(); )
{
Cell cell = cellsIT.next();
cells.put( cell.getStringCellValue() );
}
jRow.put( "cell", cells );
rows.put( jRow );
}
// Create the JSON.
json.put( "rows", rows );
// Get the JSON text.
return json.toString();
Vea si esto ayuda: Volver a CSV - Convertir texto CSV a Objetos; a través de JSON
Esta es una publicación de blog publicada en noviembre de 2008 que incluye el código C # para proporcionar una solución.
De la introducción en la publicación del blog:
Como Json es más fácil de leer y escribir, entonces Xml. Se deduce que CSV (valores separados por comas) es más fácil de leer y escribir que Json. CSV también tiene herramientas como Excel y otras que facilitan el trabajo y la creación. Entonces, si alguna vez quiere crear una configuración o un archivo de datos para su próxima aplicación, aquí hay algún código para convertir CSV a JSON en objetos POCO