Работа с файлами в Питоне 1. Открытие файла на чтение infile = open('data 1. txt', 'r') 2. Чтение файла в список (три реализации) 2. 1 lines = infile. readlines() 2. 2 lines = [] for line in infile: lines. append(line) 2. 3 lines = [line for line in infile]
Пример файла data 1. txt • 21. 8 18. 1 19 23 26 17. 8
1. Чтение файла сразу (не по отдельной строке) filestr = infile. read() Filestr '21. 8n 18. 1n 19n 23n 26n 17. 8n‘ print filestr 21. 8 18. 1 19 23
Метод split() для строк и преобразование их в числа • • • words = filestr. split() words ['21. 8', '18. 1', '19', '23', '26', '17. 8'] Преобразование строки в число numbers = [float(w) for w in words] Эквивалентно for i in range(len(words)): numbers[i]=float(words[i])
Запись в файл • # записать в новый файл или перезаписать старый • outfile = open(filename, 'w') • # добавить в конец существующего файла • outfile = open(filename, 'a') • Запись в файл строки s и символа перехода на новую строку • outfile. write(s + 'n')
Запись в файл таблицы table • • • outfile = open(‘f_table. dat', 'w') for row in table: for column in row: outfile. write(‘%9. 3 f' % column) outfile. write('n') outfile. close()
Чтение из файла и печать таблицы • Данные в виде таблиц также называют CSV (comma separated values) — буквально «значения, разделенные запятыми» . Это текстовый формат, предназначенный для представления табличных данных. Каждая строка файла — это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом — запятой (, ) , точка с запятой (; ) или другим символом.
• • infile = open(‘name. csv', 'r') import csv table = [] for row in csv. reader(infile): table. append(row) infile. close() Можно записать в одну строку table = [row for row in csv. reader(infile)]
Печать и преобразование таблицы • import pprint • pprint(table) • Модуль csv также возвращает строковые данные и ниже их преобразование • for r in range(len(table)): • for c in range( len(table[0])): • table[r][c] = float(table[r][c])