Python |Как поймать файл не читаемых исключений - PullRequest
0 голосов
/ 31 октября 2019

Контекст:

  1. Проблема, которую я пытаюсь решить, - прочитать файл CSV, проверить, имеет ли переменная в файле CSV определенное значение, и распечатать

Вопросы:

  1. Возможна ситуация, когда файл помечен как нечитаемый. Если это произойдет, будет ли исключение? Если да - Как я могу поймать исключение?

  2. Также может быть исключение, если файл отсутствует. Итак, исключение для файла отсутствует первым, а затем исключение для файла не читается?

Код:

# reader module from csv will allow us to read the csv file.
# aliasing it to csv_reader so that its more readable on what the variable does.
from csv import reader as csv_reader

# Encasing the code in try and catch block to catch potential exceptions dealing with accessing file.
try:
    # Opening the file and getting a filehandle
    with open("input.csv") as file_handle:

        # reading the csv file using the csvreader
        people = csv_reader(file_handle)

        # accessing the headers (i.e. column names) for the file.
        # How would this come in handy? -
        #   Later when we create a temporary dictionary, we can access the data using the column names as keys
        headers = next(people)

        # going thru each of the data-row of the csv
        for row in people:
            # Zipping the headers (column names) and data for the row to create dictionary
            #
            # Dictionary which will look like -
            #
            # Key   | Value
            # --------------
            # "name" - "John"
            # "age"  - "30"
            # "city" - "Boston"
            #
            person = dict(zip(headers, row))

            # Now that we have a python dictionary, we can access the column names using the dictionary keys
            if int(person["age"]) >= 30:
                print("Name:{name}, City:{city}".format(name=person["name"], city=person["city"]))

except FileNotFoundError:
    print("Given file isnt present")

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете поймать ошибку с двумя исключениями для файлов (IOError, OSError). Для получения дополнительной информации прочитайте ниже https://www.tutorialspoint.com/python/python_exceptions.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...