2009-03-19 12 views
126

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

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

+0

एक्सएलएस संरचित कैसे किया जाता है? क्या आप मानते हैं कि पहली पंक्ति कॉलम हेडर हैं? – SheetJS

+0

सीएसवीकिट यह करता है: http://csvkit.readthedocs.org/en/latest/scripts/csvjson.html – Amanda

उत्तर

73

यह मेरे लिए पूरी तरह से काम किया है और एक फाइल अपलोड की आवश्यकता नहीं है:

Mr. Data Converter

यह JSON में धर्मान्तरित:

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

+0

यदि आप टेक्स्ट में कनवर्ट करना चाहते हैं तो आप अपने कोड में पेस्ट कर सकते हैं, "एक्शनस्क्रिप्ट" विकल्प का उपयोग करें। –

+0

दुर्भाग्य से यह वेबसाइट –

+2

पर चला गया ऐसा लगता है कि स्रोत जीआईटी पर है: https://github.com/cparker15/csv-to-json?files=1 – zmonteca

3

देखने के लिए कि इस मदद करता है: Back to CSV - Convert CSV text to Objects; via JSON

यह एक ब्लॉग पोस्ट नवंबर 2008 में प्रकाशित है कि सी # कोड एक समाधान उपलब्ध कराने के लिए भी शामिल है।

ब्लॉग पोस्ट पर पहचान से:

JSON के रूप में पढ़ सकते हैं और फिर XML लिखने के लिए आसान है। यह इस प्रकार है कि सीएसवी (कॉमा सेपरेटेड वैल्यू) जेसन को पढ़ने और लिखना आसान है। सीएसवी में एक्सेल और अन्य जैसे टूल्स भी हैं जो काम करना और बनाना आसान बनाता है।

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

(: तो अगर तुम कभी अपने अगले अनुप्रयोग के लिए एक config या डेटा फ़ाइल बनाना चाहते हैं, यहाँ POCO के लिए JSON के लिए सीएसवी कन्वर्ट करने के लिए कुछ कोड वस्तुओं

+1

धन्यवाद। बीमार को इसे जावा पर बंद करना है, लेकिन बेहतर है कि व्हील – mkoryak

+0

को फिर से शुरू करने की कोशिश कर रहा है, यह काम करता है, सी # -> जावा एक बहुत अच्छा मैच है। – condiosluzverde

6

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

+1

इस सेवा को एक अपलोड बटन की आवश्यकता है। – neoneye

+0

वेब –

26

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

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

JSONObject JSON

निर्माण उसके बाद यह एक्सेल डेटा में पंक्तियों के माध्यम से पुनरावृत्ति और एक 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(); 
+0

नीचे चला गया है यदि E: /exceloutput.xlsx पर एक्सेल संग्रहीत किया जा रहा है। पहली दो पंक्तियों में फ़ाइल और आईएनपी में मूल्य क्या होंगे? – Kate

186

आपको इस उपकरण मैंने कोशिश कर सकते हैं , एक्सएमएल और अन्य।

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

+0

को रोचक लगने में विफल रहता है, जब मुझे फिर से – mkoryak

+5

की आवश्यकता होती है तो बीमार वापस आते हैं, लेकिन यह पता है कि यह सही ढंग से उद्धरण से बच नहीं पाता है। जब आपके सीएसवी में डबल कोट्स होते हैं तो आउटपुट इससे बच नहीं जाता है। आपको इसे हाथ से करना पड़ सकता है। फिर भी बहुत आसान उपकरण। – barrycarton

+0

कमाल, आप नियम! – Raspu

5

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

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

क्या यह http://johntron.com/creations/csv-to-json/ – David

+0

से संबंधित है, सिवाय इसके कि एक ही पुस्तकालय (सीएसवी, जेसन) का उपयोग किया जा रहा है। मैंने स्क्रैच से अपना कोड लिखा था। प्रसंस्करण के लिए लूप की आवश्यकता होती है जिसे मैं करना चाहता था (वर्णमाला रूपांतरण और खाली तारों को शून्य के साथ बदलना)। – Tronic

+0

मैं कई टिप्पणियों के बीच संघर्ष के बारे में सोच रहा हूं जो कहता है "यह मेरे लिए काम करता है" और यह दावा करता है कि "मौजूदा समाधानों में से कोई भी काम नहीं करता है।" –

6

छोटे नि: शुल्क उपकरण पर एक कोशिश लें:

http://keyangxiang.com/csvtojson/

यह नोड का इस्तेमाल करता है।जेएस csvtojson module

+0

यह अब और नहीं रह रहा है। – gm2008

+0

लिंक अद्यतित है। यह काम करना चाहिए। – Keyang

+0

यह [गिटहब] पर है (https://github.com/Keyang/node-csvtojson)। यह सबसे लचीला उपकरण है। मैं सीएसवी ([उदाहरण] (https://github.com/mdn/learning-area/blob/master/javascript/oojs/json/superheroes.json) का उपयोग करके नेस्टेड सरणी या ऑब्जेक्ट्स बनाने का एक तरीका चाहता था)। –

4

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

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

25

के बाद से PowerShell 3.0 (Windows 8 available for Windows 7 and windows Server 2008 लेकिन नहीं Windows Vista के साथ भेज दिया) आप उपयोग कर सकते हैं में निर्मित convertto-json commandlet:

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    

Online Help Page on Technet

12

यह मेरे लिए काम करता है और ग्राहक चलाता है -साइड: http://www.convertcsv.com/csv-to-json.htm

+1

सुझाव के लिए धन्यवाद :) कनवर्टर अच्छा काम करता है। – Nekto

+1

इसमें टैब डिलीमीटर शामिल है, ताकि आप Excel से सीधे पेस्ट कर सकें। –