【问题标题】:Convert .txt file to JSON将 .txt 文件转换为 JSON
【发布时间】:2017-02-09 18:16:05
【问题描述】:

我想将一个相当杂乱无章的 text 文件转换为 JSON 格式。我希望能够使用城市 ID 信息。无论如何我可以将其转换为 JSON 吗?

更新:一段时间后我也找到了这个解决方案。获取任何制表符分隔文本文件的 JSON 的非常简单的方法。

https://shancarter.github.io/mr-data-converter/

【问题讨论】:

  • 请理解.txt是扩展名,json是数据格式。为了将任何内容转换为json,必须存在某种关系,例如key-value 对、table-column 等。非结构化文本文件不能直接转换为json 格式。
  • 此外,请在问题中写下您到目前为止所做或尝试过的事情
  • 因此,如果我找到看起来像 cityname: cityID 的 .txt 文件,请在列表下方。那可以转换吧?

标签: json api type-conversion


【解决方案1】:

你可以尝试使用tsv2json这个工具可以从stdin读取一个tsv文件,并将一个json文件写入stdout。

它是在源文件中分发的,要编译它你需要下载D compiler然后运行dmd tsv2json.d

如果您有更复杂的任务,还有另一个名为 tsv-utils 的工具

【讨论】:

  • 不知道这意味着什么,但至少现在我有了一个起点。谢谢。
  • 如果你没有编程经验可以从骑这本书开始ddili.org/ders/d.en你的任务很简单。您只需要基本知识
  • 好的,我希望有一种方法可以将文本文件中的无组织字符串转换为 JSON 格式。一种创建结构的方法......所以我会研究这个。谢谢你
【解决方案2】:

在nodejs中TSV到JSON

var file_name = 'city_list.txt';

var readline = require('readline');
var fs = require('fs');

var lineReader = readline.createInterface({
    input: fs.createReadStream(file_name)
});

var isHeader = false;
var columnNames = [];

function parseLine(line) {
    return line.trim().split('\t')
}

function createRowObject(values) {
    var rowObject = {};

    columnNames.forEach((value,index) => {
        rowObject[value] = values[index];
    });

    return rowObject;
}

var json = {};
json[file_name] = [];

lineReader.on('line', function (line) {
    if(!isHeader) {
        columnNames = parseLine(line);
        isHeader = true;
    } else {
        json[file_name].push(createRowObject(parseLine(line)));
    }
});

lineReader.on('close', function () {
    fs.writeFileSync(file_name + '.json', JSON.stringify(json,null,2));
});

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 2020-11-09
    • 2022-01-23
    • 2020-04-13
    • 1970-01-01
    • 2021-12-11
    • 2021-12-24
    • 2017-09-23
    • 2014-06-11
    相关资源
    最近更新 更多