5 / 3 / 2
Регистрация: 12.09.2019
Сообщений: 270

Прочитать массив словарей из файла

08.01.2020, 19:22. Показов 2059. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def readData(pathway):
 dictArr = []
 with open(pathway) as file:
  for line in file:
   key, *val = line.split()
   dictArr.append({}.fromkeys(key,val))
 
 if not file:
  print("Ошибка! Заданы не все данные.")
  exit()
 
 
pathway = "data.txt"
dictArr = readData(pathway)
for dictionary in dictArr:
    print(dictionary)
По идее этот код должен решать такую задачу.Он читает массив словарей из файла в качестве аргyмента принимает имя файла. Возвращзает массив словарей.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2020, 19:22
Ответы с готовыми решениями:

Написать функцию, которая читает массив словарей из файла в качестве аргумента принимает имя файла
Написать фyнцию, которая читает массив словарей из файла в качестве аргyмента принимает имя файла. Возвращзает массив словарей. ...

Массив: Создать БД как список словарей, получив информацию из файла
Создать БД как список словарей, получив информацию из файла. Число полей(ключей) не менее 5. Реализовать отдельными функциями добавление,...

Прочитать данные из файлов и создать файл в виде сложения словарей в массив
Помогите, пожалуйста, с задачкой: 1. Скачать файлы: https://github.com/konflic/front_example/blob/master/data/books.csv и...

9
 Аватар для Semen-Semenich
5226 / 3472 / 1174
Регистрация: 21.03.2016
Сообщений: 8,299
08.01.2020, 20:23
Цитата Сообщение от artem24115 Посмотреть сообщение
Он читает массив словарей из файла
таким способом из файла вы можете прочитать только строки и думаю что у вас в файле тоже строки хотя вы видите там словари. простой пример-
что вы видите тут:
{1:'one', 2:'two'} ?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
08.01.2020, 20:54
Цитата Сообщение от artem24115 Посмотреть сообщение
Почему не работает этот код?
Ничего не забыл приложить? Или по твоему мы должны сами догадаться что именно не работает?

Добавлено через 1 минуту
Цитата Сообщение от artem24115 Посмотреть сообщение
if not file:
Бессмысленная проверка.
1
5 / 3 / 2
Регистрация: 12.09.2019
Сообщений: 270
09.01.2020, 11:40  [ТС]
Я вижу словарь

Добавлено через 3 минуты
Вот как в файле записано.
0 Artem 234
1 Jen 2145
2 Andr 2548
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.01.2020, 12:57
Цитата Сообщение от artem24115 Посмотреть сообщение
Вот как в файле записано.
Это не словарь. Это просто строки с пробелами. Но имея большое воображение, можно представить себе и словарь.
Впрочем, это не важно. Важно, что нет никакого обоснования фразе "не работает".
0
5 / 3 / 2
Регистрация: 12.09.2019
Сообщений: 270
09.01.2020, 13:00  [ТС]
Тоесть проблема просто в неправильной записи в файле?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.01.2020, 13:49
Лучший ответ Сообщение было отмечено artem24115 как решение

Решение

Содержимое файла верное.

Строка потеряна:
Python
1
return dictArr
1
5 / 3 / 2
Регистрация: 12.09.2019
Сообщений: 270
09.01.2020, 14:54  [ТС]
Опять вы меня выручаете, действительно теперь всё рабоает. Снова вам спасибо.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.01.2020, 15:15
Цитата Сообщение от artem24115 Посмотреть сообщение
Тоесть проблема просто в неправильной записи в файле?
Ваша проблема в том, что вы не читает сообщения об ошибках, в которых интерпретатр вам все подробно рассказывает.
Еще эти ошибки, называемые stack trace, принято выкладывать на форум, если вы не понимаете что они означают.
Почитайте правила формулирования вопросов на стековерфлоу: Как создать минимальный, самодостаточный и воспроизводимый пример.

Чтобы помочь вам с проблемой, участникам необходимо убедиться, что она действительно существует.

Опишите проблему. «Это не работает» — не является описанием проблемы. Расскажите, что именно вы хотите получить в результате. Приведите точное сообщения об ошибке (слово в слово), укажите на проблемную строку в коде. Суммируйте суть проблемы в заголовок вашего вопроса.
Предупредите возникновение любых вопросов, не относящихся к проблеме. Если компиляция не является темой вашего вопроса, убедитесь, что в вопросе нет упоминаний об ошибках на стадии компиляции. Используйте программы, такие как JSLint, чтобы валидировать интерпретируемые языки. Проверьте корректность HTML и XML.
Убедитесь, что пример действительно воспроизводит проблему! Если вы случайно решили проблему, но не проверили воспроизводится ошибка или нет, лучше узнать об этом до того, как попросите помощи у сообщества.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.01.2020, 15:43
Цитата Сообщение от Garry Galler Посмотреть сообщение
Ваша проблема в том, что вы не читает сообщения об ошибках, в которых интерпретатр вам все подробно рассказывает.
Так исключение не бросается. Или должно было броситься… Ладно, тут ты прав, дальше прочитанный "список" итерировали:
Code
1
TypeError: 'NoneType' object is not iterable
Только ТС про это промолчал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2020, 15:43
Помогаю со студенческими работами здесь

Прочитать из файла с данными первые десять чисел в одномерный массив а последующие числа — в двумерный массив (матрицу) 7х7 элементов.
Восклицание ПОМОГИТЕ ПОЖАЛУЙСТА ДЕВОЧКЕ-СТУДЕНТКЕ Помогите мне тоже кто-нибудь пожалуйста( Мне уже завтра нужно сдать. Помогите написать...

Прочитать из файла массив строк символов. Отсортировать массив по алфавиту (методом выбора). Результат вывести на экран и записать в файл
На языке С прочитать из файла массив строк символов. Отсортировать массив по алфавиту (методом выбора). Результат вывести на экран и...

Прочитать массив из файла
Программа, которая создаёт одномерный статический массив, прочитав из файла его размер, а затем заполнит его, читая из того же файла...

Как прочитать массив из файла?
Дан файл нужно записать 270 элементов в однномерный массив начиная с 13 строчки

Прочитать данные из файла в массив
Здравствуйте, я посоветоваться. Задача моего кода состоит в том, что у меня есть текстовый файл с числами, а в коде есть переменные,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru