有谁知道是否有应用程序可以让我优先转换为XLS到JSON?
我也会选择使用CSV格式的转换器,因为如果周围没有任何内容,我可能最终会自己写一个.
您可以尝试我制作的这个工具:
数据转换先生
它转换为JSON,XML和其他.
这也是所有客户端,因此您的数据永远不会离开您的计算机.
这对我来说很完美,不需要上传文件:
https://github.com/cparker15/csv-to-json?files=1
自从Powershell 3.0(Windows 8附带,适用于Windows 7和Windows Server 2008但不适用于Windows Vista)以来,您可以使用内置的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
Technet上的在线帮助页面
如果您找不到现有的解决方案,那么使用Java构建基本解决方案非常容易.我刚为客户写了一个,只花了几个小时,包括研究工具.
Apache POI将读取Excel二进制文件. http://poi.apache.org/
JSONObject将构建JSON
之后,只需迭代Excel数据中的行并构建JSON结构即可.这是一些基本用法的伪代码.
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 ( IteratorrowsIT = sheet.rowIterator(); rowsIT.hasNext(); ) { Row row = rowsIT.next(); JSONObject jRow = new JSONObject(); // Iterate through the cells. JSONArray cells = new JSONArray(); for ( Iterator
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(); |
这适用于我并运行客户端:http: //www.convertcsv.com/csv-to-json.htm
我刚发现这个:
http://tamlyn.org/tools/csv2json/
(注意:您必须通过网址提供您的csv文件)
试试这个小小的免费工具:
http://keyangxiang.com/csvtojson/
它使用node.js csvtojson模块
现有的解决方案都没有用,所以我很快就将一个可以完成这项工作的脚本整合在一起.还将空字符串转换为空值,并为JSON分隔标题行.可能需要根据您拥有的CSV方言和字符集进行调整.
#!/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))