将 CSV/XLS 转换为 JSON?

是否有人知道是否有应用程序,让我转换最好的 XLS 到 JSON?

我也会满足于 CSV 的转换器,因为如果周围什么都没有的话,我可能最终不得不自己编写转换器。

330741 次浏览

看看这是否有帮助: 返回 CSV-将 CSV 文本转换为对象; 经由 JSON

这是一篇发表于2008年11月的博客文章,其中包含了 C # 代码来提供解决方案。

来自博客上的介绍:

因为 Json 比 XML 更容易读写。因此,CSV (逗号分隔的值)比 Json 更容易读写。CSV 还有 Excel 等工具,使其易于使用和创建。因此,如果您想要为您的下一个应用程序创建一个配置或数据文件,这里有一些代码可以将 CSV 转换为 JSON 转换为 POCO 对象

我刚发现了这个:

Http://tamlyn.org/tools/csv2json/

(注意: 你必须有你的 csv 文件可通过网络地址)

如果您找不到现有的解决方案,那么用 Java 构建一个基本的解决方案是相当容易的。我只是为一个客户写了一个,它只花了几个小时,包括研究工具。

ApachePOI 将读取 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();

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

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

你可以试试我做的这个工具:

数据转换器先生

它可以转换为 JSON、 XML 和其他格式。

也都是客户端,所以你的数据永远不会离开你的电脑。

现有的解决方案都不管用,所以我迅速地编写了一个脚本来完成这项工作。还将空字符串转换为空值,并分隔 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))

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

Http://keyangxiang.com/csvtojson/

它使用 node.js Csvtojson 模块

与硬编码转换器不同,对 Jackson (JSON 处理器)的 CSV 支持如何: https://github.com/FasterXML/jackson-dataformat-csv。所以核心 Jackson 可以将 JSON 读取为 POJO,Maps,JsonNode,几乎任何东西。CSV 支持可以对 CSV 做同样的事情。将这两者结合起来,就可以在多种格式之间进行非常强大但简单的转换(已经有了 XML、 YAML 的后端,还有更多正在添加的后端)。

给你中可以找到一篇介绍如何实现这一点的文章。

由于 Powershell 3.0(随 Windows 8、 可用于 Windows7和 WindowsServer2008发布,但不是 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 在线帮助页

这对我很有用,并且运行在客户端: Http://www.convertcsv.com/csv-to-json.htm