×

Python Read CSV file

The CSV stands for “comma-separated value,” which is defined as a simple file format that is used to store data into a tabular form such as a database or spreadsheet.

It is a plain text file, which means, it can contain only actual text data (printable ASCII or Unicode) and has a standard format for data exchange.

 A CSV file opens into the excel sheet, and the rows and columns data define the standard format.

Usage of CSV file

The CSV file is generally created for programs that handle a large amount of data. It is very appropriate to export data from spreadsheets and databases as well as import or uses it in other programs.

For example, you might export the results of a data-mining program to a CSV file and then import that into a database to analyze the data, generate graphs for a presentation, or prepare a report for the publication.

Python CSV Module Functions

  • csv.field_size_limit - It returns the current maximum field size permitted by the parser.
  • csv.get_dialect – It returns the dialect associated with a name.
  • csv.list_dialects – It returns the names of all registered dialects.
  • csv.reader – It reads the data from a CSV file
  • csv.register_dialect - It associates dialect with a name. The name needs to be a string or a Unicode object.
  • csv.writer - Write the data to a CSV file.
  • csv.unregister_dialect - It deletes the dialect which is associated with the name from the dialect registry. If a name is not a registered as dialect name, then it will show an error.
  • csv.QUOTE_ALL - It instructs the writer objects to quote all fields.
  • csv.QUOTE_MINIMAL - It instructs the writer objects to quote only those fields which contain special characters such as quotechar, delimiter, etc.
  • csv.QUOTE_NONNUMERIC - It instructs the writer objects to quote all the non-numeric fields.
  • csv.QUOTE_NONE - It instructs the writer object to never quote the fields.

Read CSV file

The CSV library provides the functionality to both reads from and writes to the CSV file. First, we import csv module and open the csv file using Python’s built-in open() function. Python provides csv.reader() module which is used to read the csv file. It takes each row of the file and makes a list of all the columns. 

We have taken a text file named as myfile.txt which contains data separated by comma (,). Let’s consider the following example:

csv file

name,department,birthday month
Parker,Accounting, November
Smith,IT,March

Example-1:

import csv #importing csv library

with open('myfile.txt') as csv_file: #open text file named myfile

    csv_reader = csv.reader(csv_file, delimiter=',')

    line_count = 0

    for row in csv_reader:

        if line_count == 0:

            print(f'Column names are {", ".join(row)}')

            line_count += 1

        else:

            print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.')

            line_count += 1

    print(f'Processed {line_count} lines.')

Output:

The Column names are  name, department, birthday month
Parker works in the Accounting department, and was born in November.
Smith works in the IT department, and was born in March.
In the above program, the first-row returns the column name, which is handled in a specific way. 

Read a CSV into a Dictionary

In the above code, reader object deals with a list of individual string elements. Instead of dealing with, we can read CSV data directly into a dictionary as well.

Again we take the myfile.txt as follows:

csv file

name,department,birthday month
Anubhav,CS,November
Himanshu,IT,March

Example-2

import csv # importing csv library

with open('myfile.txt', mode='r') as csv_file:

    csv_reader = csv.DictReader(csv_file)

    line_count = 0

    for row in csv_reader:

        if line_count == 0:

            print(f'The Column names are {", ".join(row)}')

            line_count += 1

        print(f'\t{row["name"]} belongs to the {row["department"]} department, and was born in {row["birthday month"]}.')

        line_count += 1

    print(f'Processed {line_count} lines.')

Output:

The Column names are name, department, birthday month

Anubhav belongs to the CS department, and was born in November.

Himanshu belongs to the IT department, and was born in March.

Reading CSV files with Pandas

Pandas is a Python library which is used for data analysis. It is highly optimized and built on the top of the Numpy library. To read the CSV file into pandas, we create the DataFrame to store data.

We don’t need to write many lines of code to analyze, and read theCSVfile. Here we are taking a file called studata.txt, which contains data of the student.

Name, Class, Admission date,
Saurabh 8th 12/07/2013
Suman 9th 10/07/2013
Ankita 8th 20/08/2013
Samrat 10th 01/08/2013
Anubhav 6th 01/08/2014
Apeksha 9th 02/08/2014

Example-3

import pandas
df = pandas.read_csv('studata.txt')
print(df)

Output:

        Name                                         class                                                     Admission Date       

0     Saurabh                                     8th                                                      12/07/2013

1     Suman                                        9th                                                      10/07/2013

2     Ankita                                        8th                                                      20/08/2013

3     Samrat                                       10th                                                   01/08/2013          

4     Anubhav                                    6th                                                      01/08/2014

5     Apeksha                                     9th                                                      23/07/2014

There are only three lines in the above code, and these are enough to read the file.


Related Topics

NOT IN operator in Python

This page contains all the information about “not in” operator in python. You can also know everything about what type of operator is “not in” in python language and where...

7 minutes read.

Nested Tuple in Python

If you are a Python learner, this page contains all the information that helps you know about nested tuple and how to access it in python. What is a Tuple? Multiple items...

4 minutes read.

Drop() Function in Python

Drop() Function: The python programming language consists of various libraries; some of them are pandas and matplotlib. Data scientists mainly use the pandas library to analyze the data more easily and...

3 minutes read.

Conditional Expressions in Python

In Python conditional expression are sometimes referred to operator called as ternary operator. Not only Python supports ternary operator but many other programming languages supports it. Ternary operator are the...

2 minutes read.

Python bool()

Python bool() class The bool() class in Python returns the boolean value for the specified object. Syntax class bool([x]) Parameter object: This parameter represents the object, like String, List, Number etc. Return It will always return True, except...

1 minute read.

How to Convert Int to String in Python?

Every value we use or store in a variable in Python will have a specific data type. It describes the value's nature; based on that, Python will automatically assign a...

4 minutes read.

How to Concatenate Two Strings in Python

How to Concatenate Two Strings in Python Like the other data types, operations on strings are quite useful when we deal with some real-life applications. Here we will talk about a simple...

4 minutes read.

How to Parse JSON in Python

JSON The JSON, the Java Script Object Notation, is an open standard file designed for data interchange; it is light-weighted text. The JSON uses human-readable text to store and transmit the...

4 minutes read.

Implementing geometric shapes into the game in python

Geometric Drawings We are trying to draw various shapes of geometry by using pygame module to implement Geometric Drawings in game. Let us revise few syntax of basic shapes, to get started...

7 minutes read.

Python String encode() method

Python String encode() method The string.encode() method in Python returns an encoded version of the string. The default encoding is the current default string encoding Syntax String.encode([encoding[,errors]]) Parameter Encoding: This parameter represents a String specifying...

2 minutes read.

Why learn Python?

All things considered, learning python would be extraordinary, it'll acquaint you with the universe of dynamic programming dialects, if you're somebody who has had a semester of involvement with C. Python...

4 minutes read.

Removing the First Character from the String in Python

String The string is the collection of characters. The strings in python are “immutable”; we cannot change a string once they are created. In python, whatever data we take as input...

4 minutes read.

AX Contour in Python

Python Programming Language Python programming language is one of the most used programming languages, as it is used widely in the field of software and data analysis, web development, etc. It...

3 minutes read.

Python variance() function

Variance The variance is the average of the square deviations from the mean. The variance will measure the spread of the dataset from its mean or median value. The greater the...

4 minutes read.

Python Continue Statement

In Python, loops automate and repeat processes in a cost-effective manner. However, there may be occasions when you wish to entirely exit the loop, skip an iteration, or ignore the...

3 minutes read.

Difference between Input() and raw_input() functions in Python

There are two input functions in Python that are used for taking input are given below: raw_input()input() What is raw_input() Function? raw_input() function is a built-in function in Python. It is used to...

6 minutes read.

IPython Display

A command shell, often known as IPython is a software application that makes an operating system's features accessible to users or other applications. Based on the purpose and specific functioning...

6 minutes read.

Python Infinity

Introduction We will discover how to define an infinite number in Python in this tutorial. Infinity, as we all know, is a value that cannot be defined and can either be...

5 minutes read.

Python open() function

Python open() function The open() function in Python opens a file and returns a corresponding file object. If the file cannot be opened, an OSError is raised. Syntax open(file, mode='r', buffering=1, encoding=None, errors=None, newline=None, closefd=True, opener=None) Parameter file It represents the path and name of the file mode...

2 minutes read.

Python program to find Fibonacci series

Python program to find Fibonacci series A Fibonacci series is an integer sequence of 0, 1, 1, 2, 3, 5, 8.... We can identify the Fibonacci series as any number sequence...

2 minutes read.