将CSV/XLS转换为JSON?

mko*_*yak 138 csv json xls

有谁知道是否有应用程序可以让我优先转换为XLS到JSON?

我也会选择使用CSV格式的转换器,因为如果周围没有任何内容,我可能最终会自己写一个.

小智 194

您可以尝试我制作的这个工具:

数据转换先生

它转换为JSON,XML和其他.

这也是所有客户端,因此您的数据永远不会离开您的计算机.

  • 这很好,但要注意它不能正确地逃避引用.当您的CSV包含双引号时,输出不会转义它.您可能需要手动完成.非常方便的工具. (5认同)
  • 很有用!1+ (2认同)
  • 很棒的工具,@Shan Carter。我冒昧地 [修复了一些东西](https://github.com/thdoan/mr-data-converter) 在我的叉子里:http://thdoan.github.io/mr-data-converter/ (2认同)

zmo*_*eca 76

这对我来说很完美,不需要上传文件:

https://github.com/cparker15/csv-to-json?files=1

  • 看起来源代码来自GIT:https://github.com/cparker15/csv-to-json?files = 1 (3认同)

knb*_*knb 36

自从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              
Run Code Online (Sandbox Code Playgroud)

Technet上的在线帮助页面

  • 额外的功劳:将json保存到文件中...... $ topicsjson | Add-Content -Path"mydata.json" (6认同)

小智 26

如果您找不到现有的解决方案,那么使用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 ( 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();
Run Code Online (Sandbox Code Playgroud)


dat*_*man 12

这适用于我并运行客户端:http: //www.convertcsv.com/csv-to-json.htm

  • 谢谢您的建议:) 转换器效果很好。 (2认同)
  • 这包括制表符分隔符,因此您可以直接从 Excel 粘贴。 (2认同)

Dan*_*Dan 6

我刚发现这个:

http://tamlyn.org/tools/csv2json/

(注意:您必须通过网址提供您的csv文件)

  • 网络崩溃了 (2认同)

小智 6

试试这个小小的免费工具:

http://keyangxiang.com/csvtojson/

它使用node.js csvtojson模块


Tro*_*nic 5

现有的解决方案都没有用,所以我很快就将一个可以完成这项工作的脚本整合在一起.还将空字符串转换为空值,并为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))
Run Code Online (Sandbox Code Playgroud)