CSV / XLS को JSON में परिवर्तित करना? [बन्द है]


142

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

मैं CSV से एक कन्वर्टर के लिए भी समझौता करूंगा क्योंकि जब तक कुछ भी नहीं है तब तक मैं खुद को लिखूंगा।


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


CsvCruncher CSV को SQL टेबल के रूप में लेता है और आपको CSV या JSON के रूप में परिणाम का निर्यात करते हुए एक SELECT करता है। github.com/OndraZizka/csv-cruncher
Ondra kaižka

यह आसानी से पांडा डेटाफ्रेम का उपयोग करके किया जा सकता है। अपने csv को डेटाफ्रेम पंडों में आयात करें और इसे json में गुप्त करें।
R4444

1
मेरा सुझाव है कि आप डेटा ट्रांसफ़ॉर्मर को देखें (अस्वीकरण - मैं इसका डेवलपर हूं)। यह CSV, JSON, XML और YML के बीच स्थानीय रूप से परिवर्तित होता है। यह कई रूपांतरण सेटिंग्स प्रदान करता है (अच्छी चूक के साथ) ताकि आप अपने उद्देश्यों के लिए परिणाम दर्जी कर सकें। आप इसे मैक ऐप स्टोर या माइक्रोसॉफ्ट स्टोर से प्राप्त कर सकते हैं ।
जियो सिस्टम्स

जवाबों:


77

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

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


यदि आप पाठ में बदलना चाहते हैं तो आप अपने कोड में पेस्ट कर सकते हैं, "Actionscript" विकल्प का उपयोग करें।
स्टीव ओ'कॉनर

दुर्भाग्य से यह वेबसाइट नीचे चली गई
माज़ेन कासेर

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

@zmonteca अपने लिंक के साथ उत्तर अपडेट करें
robertc

धन्यवाद, यह काम करता है। आपको बस इस प्रोजेक्ट की निर्भरता को अपडेट करने की आवश्यकता है, अन्यथा यह चलने में विफल रहता है
hd84335

195

आप मेरे द्वारा किए गए इस उपकरण की कोशिश कर सकते हैं:

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

यह JSON, XML और अन्य में कनवर्ट करता है।

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


दिलचस्प लग रहा है, बीमार इस पर वापस आते हैं जब मुझे फिर से ज़रूरत होती है
mkoryak

6
यह ठीक है लेकिन अवगत रहें यह उद्धरणों को सही ढंग से नहीं छोड़ता है। जब आपके CSV में दोहरे उद्धरण चिह्नों का उत्पादन होता है तो वह बच नहीं पाता है। आपको इसे हाथ से करना पड़ सकता है। फिर भी बहुत उपयोगी उपकरण।
बैरीकार्टोन

महान उपकरण! अच्छी तरह से किया। @barrycarton ऐसा लगता है कि यह तय किया गया है यदि आप गितुब से नवीनतम कोड खींचते हैं। ऊपर दिए गए लिंक पर एक पुराना लगता है।
बाख

हाय @ शान कार्टर मैं चाहता हूं कि उपयोगकर्ता एक्सेल फाइल को लोड करे, एक्सेल की सामग्री को कॉपी करने के लिए नहीं, क्या यह वर्तमान कोड के साथ संभव है या मुझे इसे फोर्क करना चाहिए (यदि यह करना संभव है)। कृपया अपने विचार साझा करें।
राहुल गौतम

1
बहुत बढ़िया उपकरण, @ शॉन कार्टर। मैंने अपने कांटे में कुछ चीजें ठीक करने की स्वतंत्रता ली है: thdoan.github.io/mr-data-converter
thdoan

38

चूंकि पॉवर्सशेल 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              

ऑनलाइन मदद पृष्ठ तकनीक पर


7
अतिरिक्त क्रेडिट: एक फ़ाइल के लिए जोंस बचाओ ... $ topicjson | Add-Content -Path "mydata.json"
brady321

28

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

Apache POI एक्सेल बाइनरी को पढ़ेगा। 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();

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

11

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


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

1
इस एक में टैब सीमांकक शामिल है, जिससे आप एक्सेल से सीधे पेस्ट कर सकते हैं।
अरलेन बीलर

6

मुझे यह मिला:

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

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


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

2
वेब नीचे चला गया
Fai Zal Dong

लिंक काम नहीं कर रहा है
आदित्य

6

छोटे मुक्त उपकरण पर एक प्रयास करें:

http://keyangxiang.com/csvtojson/

यह node.js csvtojson मॉड्यूल का उपयोग करता है


यह और नहीं रहता है।
gm2008

लिंक अप-टू-डेट है। यह काम करना चाहिए।
कीआंग

यह GitHub पर है । यह सबसे लचीला उपकरण है। मैं सीएसवी ( उदाहरण ) का उपयोग करके नेस्टेड एरेज़ या ऑब्जेक्ट बनाने का एक तरीका चाहता था ।
माइकल मैकगिनिस

5

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

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


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

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

4

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

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


3

देखें कि क्या यह मदद करता है: CSV पर वापस - CSV पाठ को ऑब्जेक्ट में कनवर्ट करें; JSON के माध्यम से

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

ब्लॉग पोस्ट पर परिचय से:

जैसा कि Json को पढ़ना और लिखना आसान है तो Xml। यह निम्नानुसार है कि CSV (अल्पविराम से अलग किए गए मान) पढ़ने और लिखने में आसान है। CSV में एक्सेल और अन्य जैसे उपकरण भी हैं जो इसके साथ काम करना और बनाना आसान बनाते हैं। इसलिए यदि आप कभी भी अपने अगले ऐप के लिए एक विन्यास या डेटा फ़ाइल बनाना चाहते हैं, तो यहाँ CSV को JSON से POST ऑब्जेक्ट में बदलने के लिए कुछ कोड दिए गए हैं


1
धन्यवाद। बीमार को जावा के लिए इसे पोर्ट करना है, लेकिन बेहतर है कि पहिया को फिर से
मजबूत

खुशी है कि यह काम करता है, c # -> जावा वैसे भी एक बहुत अच्छा मैच है।
२०:३१ बजे क्सक्सोटक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.