CSV / XLS를 JSON으로 변환 하시겠습니까? [닫은]


142

XLS를 JSON으로 변환하는 응용 프로그램이 있는지 아는 사람이 있습니까?

또한 CSV로 변환기를 설정합니다. 아무것도 없으면 스스로 작성해야 할 수도 있기 때문입니다.


XLS는 어떻게 구성되어 있습니까? 첫 번째 행이 열 헤더라고 가정합니까?
— SheetJS


CsvCruncher는 CSV를 SQL 테이블로 가져오고 SELECT를 수행하여 결과를 CSV 또는 JSON으로 내보내도록하겠습니다. github.com/OndraZizka/csv-cruncher
— Ondra Žižka

이것은 팬더 데이터 프레임을 사용하여 쉽게 수행 할 수 있습니다. csv를 pandas 데이터 프레임으로 가져 와서 json으로 은닉하십시오.
— R4444

1
Data Transformer (면책 조항-개발자입니다) 를 살펴보십시오 . CSV, JSON, XML 및 YML을 로컬로 변환합니다. 다양한 변환 설정 (기본 설정)을 제공하므로 목적에 따라 결과를 조정할 수 있습니다. Mac App Store 또는 Microsoft Store 에서 구할 수 있습니다 .
— 지오 시스템

답변:


77

이것은 나를 위해 완벽하게 작동했으며 파일 업로드가 필요하지 않습니다.

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


텍스트로 변환하려면 코드에 붙여 넣을 수 있습니다. "Actionscript"옵션을 사용하십시오.
— Steve O'Connor

불행하게도이 웹 사이트는 내려 갔다
— 마젠 Kasser에게

3
소스가 GIT에있는 것 같습니다 : github.com/cparker15/csv-to-json?files=1
— zmonteca

@zmonteca은 링크 답을 업데이트
— robertc

고맙습니다, 작동합니다. 이 프로젝트의 종속성을 업데이트하면됩니다. 그렇지 않으면 실행되지 않습니다.
— hd84335

195

내가 만든이 도구를 사용해보십시오.

미스터 데이터 컨버터

JSON, XML 등으로 변환합니다.

모든 클라이언트 쪽이므로 데이터가 컴퓨터를 떠나지 않습니다.


재미있어 보인다, 내가 다시 필요할 때 이것으로 돌아와서
— mkoryak

6
괜찮지 만 따옴표를 올바르게 이스케이프하지는 않습니다. CSV에 큰 따옴표가 포함되어 있으면 출력에서 ​​이스케이프되지 않습니다. 손으로해야 할 수도 있습니다. 그럼에도 불구하고 매우 편리한 도구입니다.
— barrycarton

훌륭한 도구! 잘 했어. @ barrycarton Github에서 최신 코드를 가져 오면 이것이 수정 된 것 같습니다. 위의 링크에있는 것은 오래된 것 같습니다.
— Bach

안녕하세요 @ Shan Carter 사용자가 Excel 파일을로드하고 Excel의 내용을 복사하지 않기를 원합니다. 현재 코드로 가능합니까, 아니면 포크해야합니다 (가능한 경우). 당신의 생각을 공유하십시오.
— Rahul Gautam

1
멋진 도구, @Shan Carter. 나는 내 포크에 몇 가지 사항 을 수정 하기 위해 자유를 얻었다
— thdoan September

38

Powershell 3.0 (Windows 8과 함께 제공되며 Windows 7 및 Windows Server 2008 에서는 사용 가능 하지만 Windows Vista에서는 제공되지 않음) 이후 내장 convertto-json 커맨드 렛을 사용할 수 있습니다.

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              

Technet의 온라인 도움말 페이지


7
추가 크레딧 : json을 파일로 저장 ... $ topicsjson | 추가 콘텐츠
— 경로

28

기존 솔루션을 찾을 수 없으면 Java로 기본 솔루션을 쉽게 구축 할 수 있습니다. 방금 고객을 위해 하나를 작성했으며 연구 도구를 포함하여 불과 몇 시간이 걸렸습니다.

Apache POI는 Excel 바이너리를 읽습니다. http://poi.apache.org/

JSONObject는 JSON을 빌드합니다

그 후 Excel 데이터의 행을 반복하고 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에 Excel이 저장되어있는 경우 처음 두 줄의 파일과 inp의 값은 무엇입니까?
— Kate




5

기존 솔루션 중 어느 것도 작동하지 않았으므로 작업을 수행하는 스크립트를 신속하게 해킹했습니다. 또한 빈 문자열을 null로 변환하고 JSON의 헤더 행을 분리합니다. CSV 방언과 문자 세트에 따라 조정해야 할 수도 있습니다.

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


동일한 라이브러리 (csv, json)가 사용되는 것을 제외하고는 아닙니다. 코드를 처음부터 작성했습니다. 내가 원하는 처리 (문자 세트 변환 및 빈 문자열을 null로 바꾸기)에 루프가 필요합니다.
— Tronic

"이것은 저에게 효과적"이라고 말하는 많은 의견과 "기존 솔루션 중 어느 것도 효과가 없다"고 주장하는 의견 사이의 충돌에 대해 궁금합니다.
— B. 클레이 섀넌

4

하드 코딩 된 변환기 대신 Jackson (JSON 프로세서)에 대한 CSV 지원은 https://github.com/FasterXML/jackson-dataformat-csv 입니다. 코어 잭슨은 JSON을 POJO, Maps JsonNode등 거의 모든 것으로 읽을 수 있습니다 . CSV 지원은 CSV와 동일하게 수행 할 수 있습니다. 두 가지를 결합하면 여러 형식간에 강력하지만 간단한 변환기입니다 (XML의 백엔드, YAML 및 기타 추가 기능이 있음).

이 작업을 수행하는 방법을 보여주는 기사는 여기 에서 찾을 수 있습니다 .


3

이것이 도움이되는지 확인하십시오 : CSV로 돌아 가기-CSV 텍스트를 객체로 변환; JSON을 통해

솔루션을 제공하기위한 C # 코드가 포함 된 2008 년 11 월에 게시 된 블로그 게시물입니다.

블로그 게시물의 소개에서 :

Json은 Xml을 읽고 쓰는 것이 더 쉽습니다. CSV (쉼표로 구분 된 값)가 Json보다 읽고 쓰기가 더 쉽습니다. CSV에는 Excel과 같은 도구를 사용하여 쉽게 작업하고 만들 수 있습니다. 따라서 다음 앱에 대한 구성 또는 데이터 파일을 만들려면 CSV를 JSON으로 POCO 객체로 변환하는 코드가 있습니다.


1
감사. 이 코드를 자바로 포팅해야하지만 휠을 재발 명하는 것이 좋습니다
— mkoryak

c #-> java는 어쨌든 꽤 잘 어울립니다.
— qxotk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.