Продолжаем цикл статьей «Использование Python в OSINT». В предыдущих статьях мы говорили о работе с API в Python и JSON в Python, а сейчас разберемся с CSV.
Еще по теме: Как написать сканер портов на Python
Работа с CSV в Python
CSV — один из самых популярных форматов для хранения табличных данных.
Вот пример того, как выглядит файл CSV при открытии в текстовом редакторе.
А вот как это выглядит, когда вы открываете Numbers (эквивалент MS Excel для Mac).
Попробуем создать файл CSV с помощью пакета CSV (https://docs.python.org/3/library/csv.html).
Запись CSV-файла
Запустите write_csv.py:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Импорт пакета CSV (доступен по умолчанию): import csv # Открыть и создать файл test.csv: csv_file = open('test.csv', 'w') # Создать объект csv: writer = csv.writer(csv_file, delimiter =';') # Создать список данных: header = ['Last name', 'First name', 'Age', 'Country'] # Создать список с одной строкой данных: data = ['Smith', 'John', '35', 'USA'] # Запись данных в файл: writer.writerow(header) # Запись строки данных в файл: writer.writerow(data) # Закрыть файл test.csv: csv_file.close() |
Пусть вас не пугает терминал, я использую GitPod.
Созданный таким образом CSV-файл можно открыть в любом редакторе: Excel, Google Документы и т. д.
Теперь попробуем прочитать содержимое файла CSV.
Чтение CSV-файла
Запустите read_csv.py:
1 2 3 4 5 6 7 8 9 |
# Импорт пакета CSV: import csv # Открыть файл test.csv: with open("test.csv", 'r') as csv_file: # Создать объект csv.reader: csv_reader = csv.reader(csv_file) # Вывести строки одну за другой: for row in csv_reader: print(row) |
Теперь попробуем прочитать данные из отдельного столбца.
Запустите read_csv_one_column.py:
1 2 3 4 5 6 7 8 9 10 11 |
# Импорт CSV-пакета: import csv # Открыть файл test.csv: with open("test.csv", 'r') as csv_file: # Создать объект чтения csv: csv_reader = csv.reader(csv_file) # По очереди разделяем строку на столбцы, используя разделитель - точку с запятой: for row in csv_reader: columns=row[0].split(";") # Отобразить первый столбец: print(columns[0] |
ПОЛЕЗНЫЕ ССЫЛКИ: