Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
09.12.2012, 02:51   #1
t1m0n
Форумчанин
415 / 338 / 8
Регистрация: 03.11.2009
Сообщений: 1,578
Преобразование текстового файла в 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, 02:51
AdAgent
Объявления
09.12.2012, 22:22   #2
ilnurgi
Форумчанин
93 / 93 / 7
Регистрация: 20.02.2012
Сообщений: 421
Преобразование текстового файла в 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 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
Форумчанин
125 / 125 / 9
Регистрация: 26.05.2011
Сообщений: 227
Преобразование текстового файла в 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
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
Python Определение текстового файла
Текстовый файл отличается от бинарного тем, что имеет в конце символ окончания файла (EOF). Мне нужно определять, является ли файл текстовым или нет. Для этого я использую выше приведённый факт. Вот тут я считываю файл: file = open(path, "rb") text = file.read() В разных ОС разные значения...
Python main.c 04.06.2014 00:10
Python Преобразование файла csv в файл json
Есть такие данные: "1","Городецкий Антон","1986-04-05","Дозор","Завулон","1700-11-10","Дозор" "1","Городецкий Антон","1986-04-05","Дозор","Завулон","1700-11-10","Изучение магии" "1","Городецкий Антон","1986-04-05","Дозор","Гессер","1715-05-07","Дозор" "1","Городецкий...
Python kaas 20.03.2014 00:00
C++ Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip> #include <cstdlib> using namespace std; struct champ { char naz;
С++ для начинающих VitekSR 16.03.2014 20:38
C (СИ) Преобразование текстового файла
Помогите разработать программу, которая преобразует любой текстовый файл в другой текстовый файл так что бы в каждой второй строке надо удалить третье слово, если такое есть, при этом количество пробелов в строке не должно измениться. Остальные строки не меняются.
C для начинающих Shiar 21.05.2013 09:41
Python считать матрицу из текстового файла
в текстовом файле даны размеры NxM и следом некая матрица, к примеру: @@# #222 2132 TqE2 Допустим нам это нужно для того, что бы поменять местами первый и последний столбец. Как это сделать ?
Python AciD 21.09.2012 11:08
Опции темы

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

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