Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум Python
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 09.12.2012, 02:51   #1
t1m0n
Форумчанин
 
Аватар для t1m0n
 
Регистрация: 03.11.2009
Сообщений: 1,566
Репутация: 414 (337)
Лучшие ответы: 8
Преобразование текстового файла в JSON / Python

Есть текстовый файл такого содержания

Код 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"
        ],
        }
что почитать по этой теме?
Старый 09.12.2012, 22:22   #2
ilnurgi
Форумчанин
 
Аватар для ilnurgi
 
Регистрация: 20.02.2012
Сообщений: 378
Репутация: 81 (81)
Лучшие ответы: 2
Преобразование текстового файла в JSON

Код 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'
Другие темы раздела Форум программистов Python. Программирование с использованием Python. Помощь в решении задач на Python.
Python Goog app engeine: не могу правильно описать адрес
import cgi import datetime import urllib import webapp2 from google.appengine.ext import db from google.appengine.api import images from google.appengine.api import users from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app
Посоветуйте книгу по Python 2.5 и выше не для новичка Python
Посоветуйте книгу по Python 2.5 (не 3.*) и выше не для новичка. Минимум воды, чтобы не мусолили долго базовые понятия. Читаю Лутца сейчас.
Старый 10.12.2012, 05:54   #3
pyuser
Форумчанин
 
Регистрация: 26.05.2011
Сообщений: 215
Репутация: 117 (117)
Лучшие ответы: 8
Преобразование текстового файла в JSON / Python

Код 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("]")
Старый 10.12.2012, 05:54
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
Visual Basic .NET Чтение из текстового файла строки и преобразование ее в массив
'Процедура открытия и вывода текстового файла в лист бокс. Sub OpenFile(ByVal FileName As String, ByRef a() As String, ByVal T As TextBox) FileOpen(1, FileName, OpenMode.Input) LineInput(1) Split(1, " ") Выводмассивавлистбокс(1, ListBox2) End Sub ...
...vamp
Visual Basic .NET Преобразование в 3 массива строк текстового файла
Ребята, помогите, кто чем может)) Я хочу сделать словарь. Допустим, у меня есть текстовый файл, где первая строка - само слово, вторая - перевод, третья - примеры к слову. Слов будет несколько, но порядок такой же, то есть, (i), (i+1), (i+2), где i - номер строки. Нужно, чтобы при вводе в...
luzhkodi
Turbo Pascal Преобразование текстового файла в типизированный
Написать программу, которая выполняет преобразование текстового файла в типизированный. В текстовом файле информация размещена в следующем виде: - Текст вопроса (одна строка до 255 символов) - Первый ответ (одна строка до 255 символов) - Второй ответ (одна строка до 255 символов) - Третий...
Кейт Либби
Turbo Pascal Преобразование текстового файла в массив
Прочитать из текстового файла заданной структуры, созданного по выбору в блокноте, вводом с клавиатуры или с помощью генератора случайных чисел.
mois
Delphi для начинающих преобразование текстового файла в типизированный
Здравствуйте. Помогите, пожалуйста, как переделать программу из вида текстового файла в типизированный файл? У меня получилось создать программу только в виде текстового файла, но по заданию нужно использовать второй вид файла. Тема: Действия с типизированными файлами. Задание: На основе файлов...
zeligena
Опции темы

Текущее время: 19:51. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.