CsvCruncher przyjmuje CSV jako tabelę SQL i pozwala wykonać SELECT, eksportując wynik jako CSV lub JSON. github.com/OndraZizka/csv-cruncher
Ondra Žižka
Można to łatwo zrobić za pomocą pandy dataframe. Zaimportuj plik csv do pandy dataframe i zamień go w json.
R4444
1
Proponuję spojrzeć na Data Transformer (zastrzeżenie - jestem jego twórcą). Konwertuje lokalnie między CSV, JSON, XML i YML. Oferuje szereg ustawień konwersji (z dobrymi ustawieniami domyślnymi), dzięki czemu możesz dostosować wynik do swoich celów. Możesz go pobrać z Mac App Store lub Microsoft Store .
Geo Systems
Odpowiedzi:
77
To zadziałało idealnie dla mnie i NIE wymaga przesyłania pliku:
wygląda ciekawie, źle do tego wrócę, gdy będę potrzebował ponownie
mkoryak
6
Jest w porządku, ale pamiętaj, że nie usuwa poprawnie cytatów. Kiedy Twój plik CSV zawiera cudzysłowy, dane wyjściowe nie są uwzględniane. Być może będziesz musiał to zrobić ręcznie. Mimo to bardzo przydatne narzędzie.
barrycarton
Świetne narzędzie! ładnie wykonane. @barrycarton, wygląda na to, że problem został rozwiązany, jeśli pobierzesz najnowszy kod z Github. Ten pod powyższym linkiem wydaje się nieaktualny.
Bach
Cześć @Shan Carter Chcę, aby użytkownik po prostu załadował plik Excela, Nie kopiował zawartości programu Excel, Czy jest to możliwe z obecnym kodem, czy powinienem go rozwidlić (jeśli jest to możliwe). Podziel się swoimi przemyśleniami.
Jeśli nie możesz znaleźć istniejącego rozwiązania, dość łatwo jest zbudować podstawowe rozwiązanie w Javie. Właśnie napisałem jeden dla klienta i zajęło mi to tylko kilka godzin, łącznie z badaniem narzędzi.
Jest na GitHubie . To najbardziej elastyczne narzędzie. Chciałem mieć sposób na tworzenie zagnieżdżonych tablic lub obiektów przy użyciu CSV ( przykład ).
Michael McGinnis,
5
Żadne z istniejących rozwiązań nie działało, więc szybko zhakowałem skrypt, który wykonał zadanie. Konwertuje również puste ciągi na wartości null i oddziela wiersz nagłówka dla formatu JSON. Może wymagać dostrojenia w zależności od używanego dialektu i zestawu znaków CSV.
#!/usr/bin/pythonimport 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 =Noneelse: 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))
Nie, z wyjątkiem tego, że używane są te same biblioteki (csv, json). Napisałem swój kod od zera. Pętle są wymagane do przetwarzania, które chciałem zrobić (konwersja zestawu znaków i zastępowanie pustych ciągów przez null).
Tronic
Zastanawiam się nad konfliktem między wieloma komentarzami, które mówią „to zadziałało dla mnie”, a tym, który twierdzi, że „żadne z istniejących rozwiązań nie zadziałało”.
B. Clay Shannon
4
Zamiast kodowanych na stałe konwerterów, co powiesz na obsługę CSV dla Jacksona (procesor JSON): https://github.com/FasterXML/jackson-dataformat-csv . Więc core Jackson może czytać JSON jako POJO, Mapy,JsonNode , prawie wszystko. Obsługa CSV może zrobić to samo z CSV. Połącz oba, a jest to bardzo potężny, ale prosty konwerter między wieloma formatami (istnieją już backendy dla XML, YAML i więcej).
Artykuł, który pokazuje, jak to zrobić, można znaleźć tutaj .
To jest wpis na blogu opublikowany w listopadzie 2008 roku, który zawiera kod C # w celu dostarczenia rozwiązania.
Od wprowadzenia w poście na blogu:
Ponieważ Json jest łatwiejszy do czytania i pisania, a następnie Xml. Wynika z tego, że CSV (wartości oddzielone przecinkami) jest łatwiejszy do odczytania i zapisu niż Json. CSV zawiera również narzędzia, takie jak Excel i inne, które ułatwiają pracę i tworzenie. Jeśli więc kiedykolwiek zechcesz utworzyć plik konfiguracyjny lub plik danych dla swojej następnej aplikacji, oto kod do konwersji CSV na JSON do obiektów POCO
Odpowiedzi:
To zadziałało idealnie dla mnie i NIE wymaga przesyłania pliku:
https://github.com/cparker15/csv-to-json?files=1
źródło
Możesz wypróbować to narzędzie, które stworzyłem:
Mr. Data Converter
Konwertuje do formatu JSON, XML i innych.
Wszystko to działa również po stronie klienta, więc Twoje dane nigdy nie opuszczają komputera.
źródło
Od wersji Powershell 3.0 (dostarczanej z Windows 8, dostępnej dla Windows 7 i Windows Server 2008, ale nie dla Windows Vista) można użyć wbudowanego polecenia convertto-json:
Strona pomocy online w witrynie Technet
źródło
Jeśli nie możesz znaleźć istniejącego rozwiązania, dość łatwo jest zbudować podstawowe rozwiązanie w Javie. Właśnie napisałem jeden dla klienta i zajęło mi to tylko kilka godzin, łącznie z badaniem narzędzi.
Apache POI odczyta plik binarny Excel. http://poi.apache.org/
JSONObject utworzy JSON
Następnie wystarczy przejść przez wiersze w danych programu Excel i zbudować strukturę JSON. Oto pseudo kod do podstawowego zastosowania.
źródło
To działa dla mnie i działa po stronie klienta: http://www.convertcsv.com/csv-to-json.htm
źródło
Właśnie znalazłem to:
http://tamlyn.org/tools/csv2json/
(Uwaga: musisz udostępnić swój plik csv za pośrednictwem adresu internetowego)
źródło
Wypróbuj małe darmowe narzędzie:
http://keyangxiang.com/csvtojson/
Wykorzystuje moduł node.js csvtojson
źródło
Żadne z istniejących rozwiązań nie działało, więc szybko zhakowałem skrypt, który wykonał zadanie. Konwertuje również puste ciągi na wartości null i oddziela wiersz nagłówka dla formatu JSON. Może wymagać dostrojenia w zależności od używanego dialektu i zestawu znaków CSV.
źródło
Zamiast kodowanych na stałe konwerterów, co powiesz na obsługę CSV dla Jacksona (procesor JSON): https://github.com/FasterXML/jackson-dataformat-csv . Więc core Jackson może czytać JSON jako POJO, Mapy,
JsonNode
, prawie wszystko. Obsługa CSV może zrobić to samo z CSV. Połącz oba, a jest to bardzo potężny, ale prosty konwerter między wieloma formatami (istnieją już backendy dla XML, YAML i więcej).Artykuł, który pokazuje, jak to zrobić, można znaleźć tutaj .
źródło
Sprawdź, czy to pomoże: Wróć do CSV - Konwertuj tekst CSV na obiekty; przez JSON
To jest wpis na blogu opublikowany w listopadzie 2008 roku, który zawiera kod C # w celu dostarczenia rozwiązania.
Od wprowadzenia w poście na blogu:
źródło