×

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

Python program to count the number of a substring in a string

Python program to count the number of a substring in a string A part of the string is called a substring. This article explains the Python program to find how many...

1 minute read.

How to Convert int to str in Python

How to Convert int to str in Python In the last article, we studied how we convert a variable with string datatype to integer datatype and discussed different data types available...

4 minutes read.

Python String rstrip() method

Python String rstrip() method The string.rstrip() method in Python returns a copy of the string with trailing characters removed. Syntax string.rstrip([chars]) Parameter chars:  This argument represents a string specifying the set of characters to be...

1 minute read.

Simple GUI calculator using PyQt5 in Python

GUI: The user is provided with information using manipulable visual widgets that don't require command-line input. These interface components respond to the user's interactions per the pre-programmed script, assisting each user's...

4 minutes read.

Python program to add two number

Python program to add two number This program will add the two numbers and display their sum on the screen. Example: Input: Number1 = 20        Number2 = 30   Output: Sum =...

2 minutes read.

Anaconda in Python 3

What is Anaconda in Python 3? Anaconda is an open-source package combining Python and R programming languages used for data analytics and processing data. It consists of a huge number of...

4 minutes read.

Import Function in Python

In Python programming language, the import keyword plays an important role in the whole code because it makes one module make available in another module. Import is used to structure...

3 minutes read.

Number pattern in Python

Number pattern in Python: This article explains how to print number patterns in Python. The FOR loop, while loop, and range() functions are used in the following Python programs to...

4 minutes read.

Data Structures and Algorithms using Python | Part 2

Files: A file is a location or information stored in computer storage devices. File handling is essential when the information or the data is to be held permanently. When we try to...

20 minutes read.

Python program to check if two strings are anagram or not

Python program to check if two strings are anagram or not Problem: This is a python program that takes two strings and checks if given strings are anagram or not. Examples: Input: string1...

1 minute read.

Python Prime factorization

Python Prime factorization In this tutorial, we will design a program where we will find all the prime factors of a number. Then, we will print all these prime factors of...

3 minutes read.

Add a key-value pair to dictionary in Python

In programming, data type defines the type of value that a variable can hold. With help of these, we can perform various mathematical, logical, or relational operations on that particular...

5 minutes read.

Python String lower() method

Python String lower() method The string.lower() method in Python returns a string where all characters are lower case. Syntax string.lower() Parameter NA Return This method returns a string where all characters are lower case. Example 1 # Python...

1 minute read.

Standard Scaler in SKLearn

The sci kit learns in python is a library thatch is used in machine learning which is used to work on data modeling.It is only focused on the data modeling,...

4 minutes read.

Python Set isdisjoint() method

Python Set isdisjoint() method The set.isdisjoint() method in Python returns a boolean value True if two sets are disjoint sets ( i.e. none of the elements are present in both sets), otherwise it returns...

1 minute read.

Speech Recognition in Python

What is Speech Recognition? Speech Recognition is a term defined for automatic recognition of human speech. Speech recognition is the most significant activity in the domain of the interaction between the...

8 minutes read.

Word frequency Python

Word frequency Python In this tutorial, we will write the Python program to count the occurrence of a word (word frequency) in a given sentence. We will learn all the approaches...

5 minutes read.

Python Program to Print Sum of all Elements in an Array

Python program to print sum of all elements in an array A set of objects stored in contiguous memory locations is referred to as an array. The concept is to keep...

2 minutes read.

Wikipedia module in Python

Wikipedia module in Python: The internet has become an essential part of all of our life which is the largest source of all the information. Therefore, it becomes very important...

7 minutes read.

Python Banner

Python: Python is an interactive and more accessible language than any other programming language. The python programming language uses a variety of libraries to perform the operations in a faster way....

3 minutes read.