c_cpp 将TSV文件转换为JSON(不是出于通用目的)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 将TSV文件转换为JSON(不是出于通用目的)相关的知识,希望对你有一定的参考价值。

/*
 * Converts TSV file to JSON file.
 * 
 * author: Sudipto Chandra Das
 * license: MIT
 * 
*/

#include <bits/stdc++.h>
using namespace std;

char inp[10000];

const char SEP = '\t';

const char* prop[] = {
    "title",
    "desc",
    "h1",
    "h2_1",
    "h2_2"
};

int main()
{
    freopen("35 URLs.tsv", "r", stdin);
    freopen("metaInfo.json", "w", stdout);
    
    bool beg = true;
    printf("{\n");
    while(gets(inp))
    {    
        if(beg) beg = false;
        else printf(",\n");

        string tmp = "";
        int len = strlen(inp);
        int c = 0;
        for(int i = 0; i < len; ++i)
        {
            if(inp[i] == SEP)
            {
                if(c == 0)
                {
                    printf("%4c\"%s\": {\n", ' ', tmp.data());
                    tmp = "";
                    c++;
                }
                else if(c % 2 == 1)
                {
                    printf("%8c\"%s\": \"%s\",\n", ' ', prop[c / 2], tmp.data());
                    tmp = "";
                    c++;
                }
                else
                {
                    tmp = "";
                    c++;
                }
            }            
            else if(inp[i] != '\n' && inp[i] != '\r')
            {
                tmp.push_back(inp[i]);
            }
        }
        // last part
        printf("%8c\"%s\": \"%s\"\n", ' ', prop[c / 2], tmp.data());        
        tmp = "";
        printf("%4c}", ' ');
    }
    printf("\n}\n");

    return 0;
}

以上是关于c_cpp 将TSV文件转换为JSON(不是出于通用目的)的主要内容,如果未能解决你的问题,请参考以下文章

TSV文件将字符串转换为数字

使用 python 将 tsv 文件转换为 xls/xlsx

Python将大(10GB).csv转换为.tsv

如何在python中读取一个大的tsv文件并将其转换为csv

如何在 BASH 中将制表符分隔值 (TSV) 文件转换为逗号分隔值 (CSV) 文件?

javascript 将表格文本(csv,tsv等)转换为javascript数组