Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
 Аватар для SoBadDay
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269

Считывание чисел из файла

08.10.2019, 11:20. Показов 5919. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Есть текстовый файл вида:
Code
1
2
3
4
5
6
 14.602       9
 14.227      12
 13.619       9
 13.000       5
 13.340       2
 13.386       1 и т.д.
Количество строк заранее неизвестно.

Все цифры левого и правого столбцов занести в соответственно два разных массива
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2019, 11:20
Ответы с готовыми решениями:

Считывание из файла чисел с плавающей запятой
Здравствуйте! Нужно реализовать считывание из файла *.txt чисел в массив. Если считывание целых чисел я нашла, через регулярные выражения,...

Считывание чисел из файла через функцию map
Программа f = open("file-1.txt", "rt") data = print(data) f.close() выдает: для файла file-1.txt: 1 2 3 4 5...

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

8
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
08.10.2019, 11:22
SoBadDay, в чем проблема? попытки есть?
0
 Аватар для SoBadDay
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
08.10.2019, 11:27  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
SoBadDay, в чем проблема? попытки есть?
Есть, на оверфлоу нашел такой код
Python
1
2
3
4
file = open('Var13.txt', 'r')
lines_list = file.readlines()
cols, rows = (float(val) for val in lines_list[0].split())
my_data = [[float(val) for val in line.split()] for line in lines_list[1:]]
Результат его-это занесение в ячейку массива числа и левого и правого столбца, а мне нужно раздельно.
В связи с недостатком знаний языка, затрудняюсь исправить код под свою задачу. Только начал переход из C++ (где этот процесс довольно легко реализовывался с помощью потока и двух векторов) на Python
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
08.10.2019, 11:53
Лучший ответ Сообщение было отмечено SoBadDay как решение

Решение

SoBadDay, плохой код, ты его из вопроса взял или из ответа?))

Цитата Сообщение от SoBadDay Посмотреть сообщение
В связи с недостатком знаний языка,
час времени нужно на прочтение главу файлы и главу строки и списки в любой книге по пайтон

правую колонку привожу к интам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def tuple_from_line(line: str) -> tuple:
    parts = line.split()
    return float(parts[0]), int(parts[1])
 
 
floats = []
ints = []
with open('numbers.txt') as f:
    for tuple_ in (tuple_from_line(line) for line in f):
        floats.append(tuple_[0])
        ints.append(tuple_[1])
 
print(f'Left column (floats) : {floats}')
print(f'Right column (ints) : {ints}')
0
08.10.2019, 11:56

Не по теме:

Welemir1, эх, не успел я :)

0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
08.10.2019, 11:57
Damenikx, приведи свое решение, интересно
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2019, 11:58
Welemir1, такое же, только без функций.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
08.10.2019, 12:20
Damenikx,
функциональная версия
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from functools import partial
 
divide = lambda l: (float(l.split()[0]), int(l.split()[1]))
to_arrays = lambda a, b, t: a.append(t[0]) or b.append(t[1])
 
 
def floats_and_ints():
    left = []
    right = []
    part = partial(to_arrays, left, right)
    with open('numbers.txt') as f:
        list(map(part, map(divide, f)))
    return left, right
 
 
floats, ints = floats_and_ints()
print(f'Left column (floats) : {floats}')
print(f'Right column (ints) : {ints}')
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2019, 13:37
Цитата Сообщение от Damenikx Посмотреть сообщение
такое же, только без функций.
Так то без
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2019, 13:37
Помогаю со студенческими работами здесь

Считывание чисел из файла
Помогите пожалуйста ,не могу решить задачу: Во входном файле записаны числа, по одному числу в строке. Количество чисел неизвестно....

Считывание чисел из файла
Доброго времени суток! Как можно реализовать считывание целых чисел из файла? Я пробовал так делать: static void Main(string args) ...

Считывание чисел из файла
Я знаю как считать число из файла, но не знаю как считать несколько чисел. Может кто обьяснить как это сделать?

Считывание чисел из файла
Кто знает, помогите, пожалуйста. Вопрос такой: У меня есть текстовый файл с числами внутри (создаю простенькую игру). Числа должны...

Считывание чисел из файла
Подскажите почему может быть такая ошибка "Expression (stream != NULL)". Мне нужно считать из файла числа записанные через пробел. Вот так...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru