Работа с базами данных требует преобразования данных из массивов в удобные для хранения и чтения табличные файлы.
Что такое двумерный массив?
Двумерный массив — структура данных, представленная в виде строк и столбцов, подобно таблице.
Пример массива на Python:
data = [
["ID", "Name", "Age"],
[1, "Alex", 25],
[2, "Maria", 30],
[3, "Sergey", 22]
]
Каждая строка массива — запись, каждый элемент строки — значение столбца.
Запись массива в табличный файл
Что такое CSV?
CSV (Comma-Separated Values) — формат, где данные записываются через запятую.
Пример файла:
ID,Name,Age
1,Alex,25
2,Maria,30
3,Sergey,22
Код для записи в CSV
Пример записи двумерного массива:
import csv
data = [
["ID", "Name", "Age"],
[1, "Alex", 25],
[2, "Maria", 30]
]
with open('output.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
Используйте параметр newline=''
, чтобы избежать пустых строк между записями в файле.
Основные команды ввода-вывода
Работа с файлами
Открытие файла:
open(filename, mode)
— открывает файл. Режимы:
w
— запись (перезаписывает файл).
a
— добавление в конец файла.
Запись данных:
file.write(data)
— записывает строку в файл.
Чтение данных:
file.read()
— считывает весь файл.
file.readlines()
— возвращает строки в виде списка.
Пример чтения CSV
with open('output.csv', mode='r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
Функции для работы с массивами
Преимущества использования функций
Пример функции
Функция для добавления новой записи в массив:
def add_record(array, record):
array.append(record)
data = [["ID", "Name", "Age"]]
add_record(data, [1, "Alex", 25])
add_record(data, [2, "Maria", 30])
print(data)
Функции можно использовать для предварительной данных перед добавлением.
Полный пример: Добавление и запись
Объединим всё вместе:
import csv
def add_record(array, record):
array.append(record)
data = [["ID", "Name", "Age"]]
# Добавление записей
add_record(data, [1, "Alex", 25])
add_record(data, [2, "Maria", 30])
# Запись в файл
with open('output.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
Итоги
Основные шаги:
Создание или заполнение массива
Создайте новый массив или заполните существующий данными. Это может быть список, содержащий строки и столбцы.
Добавление записей с помощью функций
Используйте функции для добавления новых записей в массив. Это улучшает читаемость кода и упрощает обработку данных.
Сохранение данных в табличный файл
Сохраните массив в формате табличного файла (например, CSV), чтобы данные стали удобными для хранения и анализа.
Советы:
Используйте функции для гибкости и проверки данных.
CSV-файлы просты, но требуют внимательности при работе с разделителями.
Справочник команд
1. open(filename, mode)
Открывает файл для чтения или записи.
Параметры:
mode
— режим работы с файлом:
"r"
— открыть для чтения (по умолчанию).
"w"
— открыть для записи (перезапишет файл, если существует).
"a"
— открыть для добавления (добавляет в конец файла).
"b"
— бинарный режим (для работы с бинарными файлами).
Пример:
file = open('data.txt', 'r')
2. read()
Читает все содержимое файла.
Возвращает: строку, содержащую весь текст файла.
Пример:
with open('data.txt', 'r') as file:
content = file.read()
print(content)
3. readlines()
Читает все строки файла и возвращает их как список.
Возвращает: список строк, каждая строка — элемент списка.
Пример:
with open('data.txt', 'r') as file:
lines = file.readlines()
print(lines)
4. write(data)
Записывает строку или данные в файл. Если файл открыт в режиме "w"
или "a"
, данные будут записаны.
Параметры: data
— данные, которые нужно записать (строка).
Пример:
with open('data.txt', 'w') as file:
file.write("Hello, world!")
5. writelines(lines)
Записывает несколько строк в файл. Каждая строка — элемент списка.
Параметры: lines
— список строк, которые нужно записать.
Пример:
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open('data.txt', 'w') as file:
file.writelines(lines)
6. close()
Закрывает файл. Обязательно закрывайте файлы после работы с ними, чтобы избежать утечек памяти.
Пример:
file = open('data.txt', 'r')
content = file.read()
file.close()
Справочник команд для работы с массивами
1. append()
Добавляет элемент в конец списка.
Параметры: элемент, который добавляется в список.
Пример:
data = [1, 2, 3]
data.append(4)
print(data) # [1, 2, 3, 4]
2. extend()
Добавляет все элементы из другого списка в конец текущего списка.
Параметры: список, элементы которого будут добавлены.
Пример:
data = [1, 2, 3]
data.extend([4, 5])
print(data) # [1, 2, 3, 4, 5]
3. insert()
Вставляет элемент в заданную позицию в списке.
Параметры:
Индекс, куда вставляется элемент.
Пример:
data = [1, 3, 4]
data.insert(1, 2) # Вставляем 2 на второй индекс
print(data) # [1, 2, 3, 4]
4. remove()
Удаляет первый встретившийся элемент с указанным значением.
Параметры: значение элемента, который нужно удалить.
Пример:
data = [1, 2, 3, 4]
data.remove(3)
print(data) # [1, 2, 4]
5. pop()
Удаляет элемент по индексу и возвращает его.
Параметры: индекс элемента для удаления (по умолчанию удаляет последний элемент).
Пример:
data = [1, 2, 3, 4]
last_item = data.pop()
print(last_item) # 4
print(data) # [1, 2, 3]
6. index()
Возвращает индекс первого вхождения указанного элемента.
Параметры: значение элемента, для которого нужно найти индекс.
Пример:
data = [1, 2, 3, 4]
index = data.index(3)
print(index) # 2
7. sort()
Сортирует элементы списка по возрастанию.
Параметры: необязательные параметры для изменения порядка сортировки:
reverse=True
— сортировка по убыванию.
Пример:
data = [4, 2, 1, 3]
data.sort()
print(data) # [1, 2, 3, 4]
8. r
everse()
Изменяет порядок элементов списка на противоположный.
Без параметров.
Пример:
data = [1, 2, 3]
data.reverse()
print(data) # [3, 2, 1]
9. clear()
Удаляет все элементы из списка.
Без параметров.
Пример:
data = [1, 2, 3]
data.clear()
print(data) # []
10. copy()
Создаёт поверхностную копию списка.
Возвращает: новый список, который содержит те же элементы, что и исходный.
Пример:
data = [1, 2, 3]
data_copy = data.copy()
print(data_copy) # [1, 2, 3]
Last updated