Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
t1m0n
Форумчанин
416 / 339 / 8
Регистрация: 03.11.2009
Сообщений: 1,588
09.12.2012, 02:51     Преобразование текстового файла в JSON
  #1
Есть текстовый файл такого содержания

Код Code
1
2
3
4
5
6
9851312827,9851356824;Оружие уличного бойца;А. Тарас, А. Владзимирский;2006;256;985-13-1282-7,985-13-5682-4;
5170083270;Сделай это сам;blank_name;2005;480;5-17-008327-0;
5170108710,527113525X,9789851398689;В ожидании ребенка;Арлин Эйзенберг, Хейди Е. Муркофф, Санди Е. Хатауэй;2007;656;5-17-010871-0, 5-271-13525-X, 978-985-13-9868-9;
3822871508;Брейгель;Роз-Мари и Райнер Хаген;2002;96;3-8228-7150-8;
5718702488;Про разведчика Рябова;blank_name;1999;62;5-7187-0248-8;
5852670335;Про Чапая;blank_name;2000;36;5-85267-033-5;
как его преобразовать в JSON-файл вида
Код Python
1
2
3
4
5
6
7
8
9
10
11
12
13
json = {
        'isbn10' : [
            "9851312827",
            "9851356824"
        ],
        'autor': "А. Тарас, А. Владзимирский",
        'pub_year': '2006',
        'page': '256',
        'isbn13': [
            "985-13-1282-7",
            "985-13-5682-4"
        ],
        }
что почитать по этой теме?
AdAgent
Объявления
09.12.2012, 02:51
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 02:51

Посмотрите здесь:

Python Определение текстового файла

Python Удалить из текстового файла третью строку. Результат записать в другой файл

Python Удалить из текстового файла всю информацию

Python Преобразование файла csv в файл json

Python Как выделить поля текстового файла, формируя вывод по условию?

Python Сжатие текстового файла по словарю

Python считать матрицу из текстового файла

Python Генератор аббревиатур 2. Как брать слова из текстового файла?

ilnurgi
Форумчанин
96 / 96 / 7
Регистрация: 20.02.2012
Сообщений: 432
09.12.2012, 22:22
  #2
Код Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# coding: utf-8
import os
 
path = os.getcwd()
 
data = open(path+'\\injson.txt').read().decode('utf-8').splitlines()
 
dictj = {}
a = 0
for i in data:
    isbn10, title, autor, pub_year, page, isbn13, musor = i.split(';')
    dictj[a] = {'isbn10':isbn10.split(','),
                'autor':autor,
                'pub_year':pub_year,
                'page':page,
                'isbn13':isbn13.split(',')}
    a+=1
 
for i in dictj:
    print dictj[i], '\n'
pyuser
Форумчанин
125 / 125 / 9
Регистрация: 26.05.2011
Сообщений: 227
10.12.2012, 05:54     Преобразование текстового файла в JSON
  #3
Код Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import csv
import json
 
def convert(fname_in, fname_out):
    fieldnames = ("isbn10", "title", "autor", "pub_year", "page", "isbn13", "tmp")
 
    with open(fname_in, "rt", encoding="utf-8") as fin, \
            open(fname_out, "wt", encoding="utf-8") as fout:
 
        fout.write("[\n")
        for row in csv.DictReader(fin, fieldnames=fieldnames, delimiter=";"):
            row.pop("title")
            row.pop("tmp")
 
            row["isbn10"] = row["isbn10"].split(",")
            row["isbn13"] = row["isbn13"].split(",")
            fout.write(json.dumps(row, ensure_ascii=False, indent=4) + "\n")
        fout.write("]")
Yandex
Объявления
10.12.2012, 05:54
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 20:07. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.