How to convert many txt files to json data in python?

Question:

I have many txt files, and i need to megre all them in one file or variable, and i want to do them readable.
Example one file content:

[{'id': 'dc0920dc-3fc4-4be6-be96-26d896623469', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Если цена отклоняется от рыночной в несколько раз, это может быть одним из признаков необоснованной выгоды. Дополнительными признаками необоснованной выгоды будут отсутствие деловой цели у сделки, длительные отсрочки   (обзор ВС по контролю цен, утв. Президиумом ВС 16.02.2017).', 'text': '<p>Какие признаки, по мнению налоговиков, говорят о необоснованной налоговой выгоде?</p>', 'type': 5, 'answers': [{'id': 'e627e95b-394b-4d2c-a157-bd554ccfd67e', 'isCorrect': False, 'value': 'Цена сделки даже незначительно отклоняется от рыночной', 'description': None}, {'id': '7f43d71d-8000-4672-a8b4-cb4d1132bd07', 'isCorrect': True, 'value': 'У сделки нет деловой цели', 'description': None}, {'id': 'b2214e20-5b39-4618-b16c-51664d49da4e', 'isCorrect': False, 'value': 'Компания предоставляет контрагенту отсрочку', 'description': None}, {'id': '1b4f91d4-e31f-4277-89cd-f73df899261f', 'isCorrect': True, 'value': 'Цена сделки отклоняется от рыночной в несколько раз', 'description': None}, {'id': '808eba28-5572-43ef-9f10-3f608fb33cd0', 'isCorrect': True, 'value': 'Компания необоснованно предоставляет контрагенту длительную отсрочку', 'description': None}]}, {'id': 'e5c92733-1325-443e-beb9-2716c974bb91', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Блокировка счета за квартальную отчетность по прибыли незаконна (определение ВС от 27.03.2017 № 305-КГ16-16245). Налоговый кодекс различает декларацию по налогу на прибыль за налоговый период и расчет авансов за отчетный период. По прибыли налоговый период — год. Отчетный период, как правило, I квартал, полугодие и 9 месяцев. И за год, и за отчетный период компании сдают одну и ту же форму отчета, которая называется «декларация». Несмотря на это, декларация за отчетный период — это, по сути, не декларация, а расчет авансовых платежей. А блокировка счета предусмотрена только за несдачу деклараций (п. 3 ст. 76 НК ).rn', 'text': '<p>Вправе ли инспекторы заблокировать счет за то, что компания не сдала квартальную декларацию по налогу на прибыль?</p>', 'type': 4, 'answers': [{'id': 'b490f386-d75b-4f20-b622-d5f24f3d19c5', 'isCorrect': False, 'value': 'Да, вправе', 'description': None}, {'id': '7278b6fb-2ac9-43cf-9637-6cf126d535c6', 'isCorrect': True, 'value': 'Нет, инспекторы не имеют права блокировать счет', 'description': None}, {'id': '96a96bbc-47f0-410d-b655-fa09ca908d62', 'isCorrect': False, 'value': 'Инспекторы вправе заблокировать счет, если компания опоздала с декларацией больше чем на 10 дней', 'description': None}]}, {'id': '704e50ae-99c1-45b2-9dd2-e89ea5308d05', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Если компания и контрагент ведут платежи через Клиент-Банк с одного IP-адреса, инспекторы могут решить, что контрагент подконтролен компании (определение ВС от 01.12.2015 № 305-КГ15-16333). Когда компания — единственный покупатель у поставщика, это также помогает налоговикам доказать необоснованную выгоду (определение ВС от 14.07.2015 № 305-КГ15-7057). Еще  инспекторов насторожит взаимозависимость сторон, отсутствие у контрагента оборудования, налоговых, арендных и других платежей, необходимых для реальной деятельности.', 'text': '<p>Отметьте признаки сомнительного контрагента по мнению судей и налоговиков.</p>', 'type': 5, 'answers': [{'id': '5b6a5d10-ce1e-48da-8e2e-173c86bc2754', 'isCorrect': True, 'value': 'Все доходы контрагент получает только от одной компании', 'description': None}, {'id': 'e61feccb-bd13-4242-ad62-faef3f3616d5', 'isCorrect': True, 'value': 'Компания и контрагент проводят платежи в банк с одного IP-адреса', 'description': None}, {'id': 'b12a7b5b-c830-4047-9f89-fffe12e4b0a8', 'isCorrect': False, 'value': 'Компания и контрагент проводят платежи в банк с разных IP-адресов', 'description': None}, {'id': '95f52dba-5a66-4538-96e9-303f38669498', 'isCorrect': True, 'value': 'У контрагента нет налоговых, арендных платежей', 'description': None}, {'id': '4a098784-822b-44d4-998b-94ac248771a5', 'isCorrect': False, 'value': 'У контрагента на балансе числится оборудование, которое он перевел на длительную консервацию', 'description': None}, {'id': '89fdd28b-abba-4a24-91c9-2ca04cc8fcec', 'isCorrect': True, 'value': 'У контрагента нет оборудования, которое необходимо для выполнения работ', 'description': None}, {'id': 'c008bba8-ec08-4020-8fe3-dd90264bbaf5', 'isCorrect': True, 'value': 'Компания и контрагент взаимозависимы', 'description': None}]}, {'id': '1c6c3599-4e22-4921-b522-3879efa0816a', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Судьи точно увидят в цепочке необоснованную налоговую выгоду. Отстоять расходы в суде вряд ли получится. По мнению верховных судей, такие сделки оформляют, только чтобы завысить убытки (определение ВС от 20.04.2016 № 307-КГ16-2773).', 'text': '<p>При проверке инспекторы обнаружили цепочку: в течение нескольких дней компания А перепродала долг компании В за 700 000 руб.; компания В уступила право требования компании С за 750 000 руб.; компания С уступила право требования компании D за 1,2 млн руб.; компания D уступила право требования E за 1,3 млн руб. Что предпримут инспекторы?</p>', 'type': 4, 'answers': [{'id': 'a6490f47-55cf-4bb9-877b-2952d395d562', 'isCorrect': True, 'value': 'Решат, что в сделке нет деловой цели, и снимут расходы', 'description': None}, {'id': 'da2074d1-bab5-48e3-82a1-9468887958aa', 'isCorrect': False, 'value': 'Решат, что в сделке нет деловой цели, но расходы снимать не будут, так как верховные судьи будут на стороне компании', 'description': None}]}, {'id': '841c8935-0119-407f-aa99-52af20eb896c', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Вознаграждения членам совета директоров облагаются взносами. Так считает Конституционный суд (определение от 06.06.2016 № 1170-О). Вознаграждения совету директоров — это выплаты в рамках гражданско-правовых договоров. И не важно, есть условие об этих выплатах в договоре с директорами или нет. Значит, надо платить взносы.', 'text': '<p>Обязана ли компания, с точки зрения Конституционного суда, платить взносы с вознаграждения совету директоров?</p>', 'type': 4, 'answers': [{'id': '6290d3a0-84b1-4ce3-bc95-501575721838', 'isCorrect': True, 'value': 'Да, обязана', 'description': None}, {'id': '40e3b35f-a5e3-478e-8ffb-96646e90c3ac', 'isCorrect': False, 'value': 'Нет, вознаграждение освобождено от взносов', 'description': None}, {'id': 'bc91f14d-ec3c-403f-a86d-3e787bd0c8c9', 'isCorrect': False, 'value': 'Да, если сумма вознаграждения превышает 4000 руб.', 'description': None}]}, {'id': 'd290fb07-2a5a-4aa5-92d1-4bccd5ca665f', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Блокировка счета за квартальную отчетность по НДС законна. К такому выводу пришел Верховный суд (определение от 27.03.2017 № 305-КГ16-16245).', 'text': '<p>Инспекторы заблокировали расчетный счет компании за то, что она не сдала декларацию по НДС. Правомерны ли действия инспекторов?</p>', 'type': 4, 'answers': [{'id': 'd029d810-6b46-45e6-a54a-57408cd1de4b', 'isCorrect': True, 'value': 'Да, инспекторы вправе заблокировать счет', 'description': None}, {'id': '32e39084-6eb9-4278-991c-c1675fe4e820', 'isCorrect': False, 'value': 'Нет, инспекторы не имеют права замораживать счет за несдачу декларации по НДС', 'description': None}, {'id': 'b91d7c86-c9cb-4c73-b82c-aa1706bacb02', 'isCorrect': False, 'value': 'Инспекторы вправе заблокировать счет, но если компания опаздывает со сдачей отчета впервые', 'description': None}]}, {'id': '9ceff80d-49e7-402f-a89b-fbabf8eeb1f6', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Компания вправе заявить вычет НДС по активам, которые еще не начала эксплуатировать. То есть по имуществу, которое числится на счете 08 «Вложения во внеоборотные активы». В Налоговом кодексе нет оговорки о том, что активы обязательно должны числиться на счете 01. Важно, чтобы компания вообще приняла эти объекты к учету (абз. 1 и 2 п. 1 ст. 172 НК, определение ВС от 21.09.2015 № 309-КГ15-11146).', 'text': '<p>Компания купила основное средство, но еще не ввела его в эксплуатацию. Объект числится на счете 08 «Вложения во внеоборотные активы». Вправе ли компания заявить вычет НДС по основному средству?</p>', 'type': 4, 'answers': [{'id': '1557cce8-5507-4d13-883a-b9b8fc67f7a4', 'isCorrect': True, 'value': 'Да, и это подтверждает Верховный суд', 'description': None}, {'id': '8cac8d4f-c62e-40b9-8d67-7215e186c423', 'isCorrect': False, 'value': 'Нет, заявить вычет нельзя, Верховный суд против', 'description': None}, {'id': '86ab6808-06d4-4a27-83ff-f07e72d7d5f6', 'isCorrect': False, 'value': 'Вычет можно заявить, если объект относится к 8—10 амортизационным группам', 'description': None}]}, {'id': 'b400a8c7-d178-4e16-a9cb-c23218961258', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Компании и предприниматели не обязаны отслеживать в неофициальных источниках, есть ли у банка проблемы. В досрочном авансе по упрощенке тоже нет ничего криминального. Кодекс не запрещает платить налоги заранее (определение ВС от 26.09.2017  № 305-КГ17-6981). ', 'text': '<p>Компания перечислила авансы по упрощенке сразу за два квартала — текущий и следующий. Деньги в бюджет не поступили, а вскоре у банка отозвали лицензию. Вправе ли инспекторы, с точки зрения Верховного суда, посчитать налог неуплаченным?</p>', 'type': 4, 'answers': [{'id': 'fe57cd3e-9167-481a-bf9d-4450120f2264', 'isCorrect': False, 'value': 'Да, вправе', 'description': None}, {'id': 'd06c9d59-bf60-41f8-a3fb-727a52adf748', 'isCorrect': True, 'value': 'Нет, не вправе', 'description': None}, {'id': 'e3e08c36-1c6b-4418-bbfb-053b30c8d251', 'isCorrect': False, 'value': 'Вправе, если информация о трудностях банка была доступна в интернете', 'description': None}]}, {'id': 'fb8efafc-fd8d-46c2-b86f-28ef35504632', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Работник, у которого есть ребенок-инвалид, вправе получить два вычета: базовый и повышенный. Так считает Верховный суд, а инспекторы и чиновники с этим соглашаются  (обзор, утв. Президиумом ВС 21.10. 2015, письма ФНС от 03.11. 2015 № СА-4-7/19206, Минфина от 20.03.2017 № 03-04-06/15803). ', 'text': '<p>У работника есть ребенок-инвалид. Какой вычет по НДФЛ может получить сотрудник?</p>', 'type': 4, 'answers': [{'id': '04343a53-7da9-4dcc-93fc-9c2616167dcc', 'isCorrect': False, 'value': 'Только повышенный, на ребенка с инвалидностью', 'description': None}, {'id': '1ac225f4-c943-4338-93cb-082c1e61ec3e', 'isCorrect': False, 'value': 'Только базовый, который зависит от очередности ребенка', 'description': None}, {'id': '94038e30-ce1b-44f1-82a3-deed70b87958', 'isCorrect': True, 'value': 'И базовый, и повышенный', 'description': None}]}, {'id': 'accd50c4-e316-4c98-bb84-cebf01ba237f', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'Если товары везли странным маршрутом, а их вес по данным транспортных накладных и таможенных деклараций не совпадает, инспекторы могут решить, что фиктивна. Тогда они снимут расходы. А судьи их в этом поддержат — определение ВС от 20.07.2016 № 305-КГ16-4155.', 'text': '<p>По каким признакам инспекторы могут решить, что поставка товаров от контрагента и расходы на их перевозку фиктивны?</p>', 'type': 5, 'answers': [{'id': 'ee627d75-fb28-4a1c-aa4b-cecf571a16fb', 'isCorrect': True, 'value': 'Вес товаров в товарных накладных значительно меньше, чем в таможенной декларации', 'description': None}, {'id': 'a9598652-0648-4e0a-b760-ff8b778e9a87', 'isCorrect': False, 'value': 'Вес товаров в товарных накладных и в таможенной декларации совпадает', 'description': None}, {'id': 'e767071b-f651-4a1d-89c5-d8c513aed685', 'isCorrect': True, 'value': 'Товары везли странным маршрутом. Например, из Москвы в Санкт-Петербург, а затем обратно в Москву и оттуда на экспорт', 'description': None}]}, {'id': '6407ef87-5a53-4c6d-bed7-362a4dbe58c6', 'courseId': '00e6f05f-a395-4ad0-b10c-e5ff575d26b7', 'description': 'С безвозмездной реализации компания должна начислить НДС по рыночным ценам (п. 2 ст. 154 НК).', 'text': '<p>Компания передала товары бесплатно. С какой цены она должна начислить НДС?</p>', 'type': 4, 'answers': [{'id': '44c0e696-6fac-4fee-86d7-09545a20e642', 'isCorrect': True, 'value': 'С рыночной цены товаров', 'description': None}, {'id': '1dda2b14-0087-403e-9b2b-c419ab3e62d4', 'isCorrect': False, 'value': 'Со стоимости, согласованной в договоре с получателем товаров', 'description': None}, {'id': 'a06c196a-d732-4bf3-b2da-073601a550ed', 'isCorrect': False, 'value': 'Начислять НДС не нужно', 'description': None}]}]

What i try:

import json

with open('00e6f05f-a395-4ad0-b10c-e5ff575d26b7.txt', encoding='utf-8') as f:
    flines = f.readlines()
    fileContent = json.loads(flines[0])
print(fileContent)

And i get error:

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2)
Asked By: А А

||

Answers:

This is clearly not JSON. However, it does appear to represent an (almost) valid Python list that contains numerous dictionaries.

The only problem with the string is the rn pair.

Thus you can resolve the issue as follows:

from ast import literal_eval

with open('your_file.txt') as data:
    data = literal_eval(data.read().replace('rn', ''))
Answered By: Pingu
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.