Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Как читать CSV-файл в Python | Чтение и запись файлов CSV

Что такое CSV-файл?

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

CSV является распространенным форматом для обмена данными, поскольку он компактен, прост и универсален. Многие онлайн-сервисы позволяют своим пользователям экспортировать табличные данные с веб-сайта в файл CSV. Файлы CSV открываются в Excel, и почти во всех базах данных есть инструмент, позволяющий импортировать файлы CSV.

Из этого руководства вы узнаете:

Пример файла CSV

Данные в виде таблиц также называются CSV (значения, разделенные запятыми) — буквально «значения, разделенные запятыми». Это текстовый формат, предназначенный для представления табличных данных. Каждая строка файла является одной строкой таблицы. Значения отдельных столбцов разделяются символом-разделителем – запятой (,), точкой с запятой (;) или другим символом. CSV легко читается и обрабатывается Python.

Рассмотрим следующую таблицу

Данные таблицы

Язык программирования Разработано Появился Расширение
Питон Гвидо ван Россум 1991 .py
Java Джеймс Гослинг 1995 .java
С++ Бьерн Страуструп 1983 .cpp

Вы можете представить эту таблицу в формате csv, как показано ниже.

Данные CSV

Язык программирования, Разработано, Создано, Расширение

Python, Гвидо ван Россум, 1991 г., .py

Java, Джеймс Гослинг, 1995 г., .java

C++, Бьерн Страуструп, 1983 г., .cpp

Как видите, каждая строка представляет собой новую строку, а каждый столбец отделяется запятой. Это пример того, как выглядит файл CSV.

Скачать данные в формате CSV

Модуль Python CSV

Python предоставляет модуль CSV для обработки файлов CSV. Чтобы читать/записывать данные, вам нужно пройтись по строкам CSV. Вам нужно использовать метод разделения для получения данных из указанных столбцов.

Функции модуля CSV

В документации модуля CSV вы можете найти следующие функции:

В этом руководстве мы сосредоточимся только на функциях чтения и записи, которые позволяют вам редактировать, изменять и манипулировать данными в файле CSV.

Как прочитать файл CSV в Python

Ниже приведены шаги для чтения файла CSV в Python.

Шаг 1) Чтобы прочитать данные из CSV-файлов, вы должны использовать функцию чтения для создания объекта чтения.

Функция чтения разработана так, чтобы брать каждую строку файла и составлять список всех столбцов. Затем вам нужно выбрать столбец, для которого вы хотите получить переменные данные.

Звучит намного сложнее, чем есть на самом деле. Давайте посмотрим на этот код Python для чтения CSV-файла, и мы обнаружим, что работать с CSV-файлом не так уж и сложно.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Шаг 2) Когда вы выполните приведенную выше программу, вывод будет таким:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Как прочитать файл CSV в словарь на Python

Вы также можете использовать DictReader для чтения файлов CSV. Результаты интерпретируются как словарь, в котором строка заголовка является ключом, а остальные строки являются значениями.

Рассмотрим следующий код

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Результат этого кода:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

И этот способ чтения данных из файла CSV намного проще, чем предыдущий метод. Однако это не лучший способ чтения данных.

Как написать файл CSV в Python

Вот как написать файл CSV в Python:

Когда у вас есть набор данных, которые вы хотели бы сохранить в CSV-файле, вы должны использовать функцию Writer(). Чтобы перебирать данные по строкам (строкам), вы должны использовать функцию writerow().

Рассмотрим следующий пример. Мы записываем данные в файл «writeData.csv», где разделителем является апостроф.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Результат в файле csv:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

Чтение CSV-файла с помощью Pandas

Pandas — это библиотека с открытым исходным кодом, которая позволяет импортировать CSV в Python и выполнять манипуляции с данными. Панды предоставляют простой способ создания, обработки и удаления данных.

Вы должны установить библиотеку pandas с помощью команды pip install pandas. В Windows вы выполните эту команду в командной строке, а в Linux — в терминале.

Чтение CSV в DataFrame pandas выполняется очень быстро и легко:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Результат чтения примера CSV Pandas:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Очень полезная библиотека. Всего за три строки кода вы получите тот же результат, что и раньше. Pandas знает, что первая строка CSV содержит имена столбцов, и будет использовать их автоматически.

Записать файл CSV с помощью Pandas

Запись в CSV-файл с помощью Pandas так же проста, как и чтение. Здесь вы можете в этом убедиться. Сначала вы должны создать DataFrame на основе следующего кода Python для записи в CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Вот результат

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

И файл CSV создается в указанном месте.

Заключение

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

Модуль csv предоставляет различные функции и классы, которые позволяют легко читать и писать. Вы можете посмотреть официальную документацию Python и найти еще несколько интересных советов и модулей. CSV — лучший способ для сохранения, просмотра и отправки данных. На самом деле, научиться этому не так сложно, как кажется вначале. Но немного потренировавшись, вы справитесь с этим.

Pandas — отличная альтернатива чтению CSV-файлов.

Кроме того, есть и другие способы анализа текстовых файлов с помощью таких библиотек, как ANTLR, PLY и PlyPlus. Все они могут выполнять сложный синтаксический анализ, и если простые манипуляции со строками не работают, вы можете использовать регулярные выражения.


Python

  1. Ключевые слова и идентификаторы Python
  2. Оператор Python, отступы и комментарии
  3. Переменные Python, константы и литералы
  4. Преобразование типов Python и приведение типов
  5. Ввод, вывод и импорт Python
  6. Глобальные, локальные и нелокальные переменные Python
  7. Файловый ввод-вывод Python
  8. Управление каталогами и файлами Python
  9. Ошибки Python и встроенные исключения
  10. Как получить текущую дату и время в Python?