CSV (Comma-Separated Values) – один из наиболее распространенных форматов для хранения и обмена табличными данными. Он прост для понимания и удобен в использовании. В этой статье мы рассмотрим примеры работы с файлами CSV в Python, что такое файлы CSV, как читать и записывать их в Python, и какие возможности предоставляют библиотеки для работы с ними.
CSV – это текстовый формат, в котором данные представлены в виде таблицы, где значения разделены запятыми (или другими разделителями, такими как точка с запятой или табуляция). Преимущества CSV формата включают:
Python предоставляет множество инструментов для работы с файлами CSV. Для начала давайте рассмотрим, как читать CSV файлы.
Для чтения CSV файлов в Python вы можете использовать встроенный модуль csv. Вот пример чтения CSV файла:
pythonCopy codeimport csv
with open('example.csv', 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
print(row) В этом примере мы используем csv.DictReader, который позволяет читать строки CSV файла как словари. Каждая строка становится словарем, где ключи – это названия колонок, а значения – данные. Вы можете легко обращаться к данным по их названиям.
Если вы хотите читать CSV файлы как списки, вы можете использовать csv.reader. Вот пример:
pythonCopy codeimport csv
with open('example.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
print(row) В этом случае, каждая строка файла будет представлена как список значений. Этот метод подходит, если ваши CSV файлы не содержат заголовков.
Для записи данных в CSV файлы также используется модуль csv. Вот пример записи в CSV файл:
pythonCopy codeimport csv
data = [{'Name': 'John', 'Age': 30, 'City': 'New York'},
{'Name': 'Alice', 'Age': 25, 'City': 'Los Angeles'}]
with open('output.csv', 'w', newline='') as csv_file:
fieldnames = ['Name', 'Age', 'City']
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row) В этом примере мы создаем CSV файл output.csv и записываем в него данные из списка словарей. Мы также используем csv.DictWriter для записи данных как словарей.
csvВы также можете записывать данные в CSV файл без использования библиотеки csv, но это потребует более тщательной обработки специальных случаев, таких как экранирование специальных символов и управление разделителями.
Ниже представляю Вамшему внимаю функцию, которой пользуюсь я на постоянной основе. При создании файла – создаются заголовки из ключей словаря. В дальнейшем сохраняются значения словаря.
def save_csv(data_dict, csv_file):
# Проверяем существование файла
file_exists = os.path.isfile(csv_file)
# Открываем файл для записи данных
with open(csv_file, 'a', encoding='utf-8-sig', newline='') as csv_file:
# Создаем объект для записи CSV
writer = csv.DictWriter(csv_file, fieldnames=data_dict.keys())
# Если файл только что создан, запишем заголовок (названия колонок)
if not file_exists:
writer.writeheader()
# Записываем данные из словаря в файл
writer.writerow(data_dict) Формат CSV предоставляет удобный и понятный способ хранения и обмена табличными данными. Python предоставляет мощные инструменты для работы с файлами CSV, что делает его отличным выбором для обработки данных в этом формате. Надеемся, что данная статья поможет вам успешно работать с CSV файлами в Python и использовать их в ваших проектах.
Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More
Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More
Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More
Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More
Установка PostgreSQL на сервер Read More
Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More