json सीएसवी/एक्सएलएस को जेएसओएन में परिवर्तित करना?




csv xls (8)

क्या किसी को पता है कि कोई ऐसा एप्लिकेशन है जो मुझे जेएसओएन को अधिमानतः एक्सएलएस को गुप्त करने देगा?

मैं सीएसवी से कनवर्टर के लिए भी व्यवस्थित रहूंगा क्योंकि अगर मैं कुछ भी नहीं कर रहा हूं तो मैं खुद को लिखने के लिए समाप्त हो जाऊंगा।


यदि आपको मौजूदा समाधान नहीं मिल रहा है तो जावा में मूलभूत बनाना बहुत आसान है। मैंने अभी क्लाइंट के लिए एक लिखा है और शोध उपकरण सहित इसमें केवल कुछ घंटे लग गए हैं।

अपाचे पीओआई एक्सेल बाइनरी पढ़ेगा। http://poi.apache.org/

JSONObject जेएसओएन का निर्माण करेगा

उसके बाद यह एक्सेल डेटा में पंक्तियों और जेएसओएन संरचना के निर्माण के माध्यम से पुन: प्रयास करने का मामला है। बुनियादी उपयोग के लिए यहां कुछ छद्म कोड है।

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();


मुझे बस यह मिला:

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

(ध्यान दें: आपको अपनी सीएसवी फ़ाइल को वेब पते के माध्यम से उपलब्ध करना होगा)


मौजूदा समाधानों में से कोई भी काम नहीं करता है, इसलिए मैंने जल्दी ही एक स्क्रिप्ट को हैक किया जो नौकरी करेगा। खाली तारों को नल में भी परिवर्तित करता है और जेएसओएन के लिए हेडर पंक्ति को अलग करता है। आपके पास सीएसवी बोलीभाषा और वर्णमाला के आधार पर ट्यून किए जाने की आवश्यकता हो सकती है।

#!/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))

हार्ड-कोडेड कन्वर्टर्स के बजाय, जैक्सन (जेएसओएन प्रोसेसर) के लिए सीएसवी समर्थन के बारे में: https://github.com/FasterXML/jackson-dataformat-csv । तो कोर जैक्सन JsonNode , मैप्स, JsonNode रूप में जेएसओएन को लगभग कुछ भी पढ़ सकता है। और सीएसवी समर्थन सीएसवी के साथ ऐसा ही कर सकता है। दोनों को संयोजित करें और यह कई प्रारूपों के बीच बहुत शक्तिशाली लेकिन सरल कनवर्टर है (एक्सएमएल के लिए बैकएंड हैं, पहले से ही वाईएएमएल, और अधिक जोड़ा जा रहा है)।

एक लेख जो दिखाता है कि यह कैसे करना है here पाया जा सकता here



चूंकि पावरहेल 3.0 (विंडोज 8 के साथ भेजा गया, विंडोज 7 और विंडोज सर्वर 2008 के लिए उपलब्ध है लेकिन विंडोज विस्टा नहीं है) आप अंतर्निर्मित कन्वर्टो-जेसन कमांडलेट का उपयोग कर सकते हैं:

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              

तकनीक पर ऑनलाइन सहायता पृष्ठ


आप इस टूल को आजमा सकते हैं:

श्री डाटा कनवर्टर

यह जेएसओएन, एक्सएमएल और अन्य में परिवर्तित हो जाता है।

यह सभी ग्राहक पक्ष भी है, इसलिए आपका डेटा कभी भी आपके कंप्यूटर को नहीं छोड़ता है।





xls