7. KVS RO AGRA
PICKELING AND UNPICKLING USING PICKEL
MODULE
Use the python module pickle for structured
data such as list or directory to a file.
PICKLING refers to the process of converting
the structure to a byte stream before writing to a
file.
while reading the contents of the file, a
reverse process called UNPICKLING is used to
convert the byte stream back to the original
structure.
9. KVS RO AGRA
PICKLING AND UNPICKLING USING PICKEL
MODULE
Firstly we need to import the pickle module, It
provides two main methods:
1) dump() method
2) load() method
16. KVS RO AGRA
READING BINARY FILE THROUGH LOOP
Read objects one by one
through loop
import pickle
Wr_file = open(r"C:UserslenovoDesktoppython filesbin1.bin", "wb")
myint = 56
mylist = ["Python", "Java", "Oracle"]
mystring = "Binary File Operations"
mydict = { "ename": "John", "Desing": "Manager" }
pickle.dump(myint, Wr_file)
pickle.dump(mylist, Wr_file)
pickle.dump(mystring, Wr_file)
pickle.dump(mydict, Wr_file)
Wr_file.close()
with open(r"C:UserslenovoDesktopbin1.bin", "rb") as f:
while True:
try:
r=pickle.load(f)
print(r)
print("Next item")
except EOFError:
break
f.close()
17. KVS RO AGRA
INSERT/APPEND RECORD IN A BINARY FILE
Here we are creating
dictionary Object to
dump it in a binary file
import pickle
Empno = int(input('Enter Employee number:'))
Ename = input('Enter Employee Name:')
Sal = int(input('Enter Salary'))
#Creating the dictionary
dict1 = {'Empno':Empno,'Name':Ename,'Salary':Sal}
#Writing the Dictionary
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'ab')
pickle.dump(dict1,f)
f.close()
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'rb')
while True:
try:
dict1 = pickle.load(f)
print('Employee Num:',dict1['Empno'])
print('Employee Name:',dict1['Name'])
print('Employee Salary:',dict1['Salary'])
except EOFError:
break
f.close()
18. KVS RO AGRA
SEARCH RECORD IN A BINARY FILE
import pickle
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'rb')
Found = False
eno=int(input("Enter Employee no to be searched"))
while True:
try:
dict1 = pickle.load(f)
if dict1['Empno'] == eno:
print('Employee Num:',dict1['Empno'])
print('Employee Name:',dict1['Name'])
print('Salary',dict1['Salary'])
Found = True
except EOFError:
break
if Found == False:
print('No Records found')
f.close()
19. KVS RO AGRA
UPDATE RECORD OF A BINARY FILE
import pickle
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'rb')
rec_File = []
r=int(input("enter Employee no to be updated"))
m=int(input("enter new value for Salary"))
while True:
try:
onerec = pickle.load(f)
rec_File.append(onerec)
except EOFError:
break
f.close()
no_of_recs=len(rec_File)
for i in range (no_of_recs):
if rec_File[i]['Empno']==r:
rec_File[i]['Salary'] = m
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'wb')
for i in rec_File:
pickle.dump(i,f)
f.close()
20. KVS RO AGRAimport pickle
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'rb')
rec_File = []
e_req=int(input("enter Employee no to be deleted"))
while True:
try:
onerec = pickle.load(f)
rec_File.append(onerec)
except EOFError:
break
f.close()
f = open(r"C:UserslenovoDesktoppython filesEmp.dat",'wb')
for i in rec_File:
if i['Empno']==e_req:
continue
pickle.dump(i,f)
f.close()
DELETE RECORD OF A BINARY FILE
22. KVS RO AGRA
CSV FILE
• CSV is a simple file format used to store tabular data, such as
• a spreadsheet or database.
• Files in the CSV format can be imported to and exported from
programs that store data in tables, such as Microsoft Excel or
OpenOffice Calc.
• CSV stands for "comma-separated values“.
• A comma-separated values file is a delimited text file that uses a
comma to separate values.
• Each line of the file is a data record. Each record consists of
one or more fields, separated by commas. The use of the
comma as a field separator is the source of the name for this file
format
23. KVS RO AGRA
• One line for each record
• Comma separated fields
• Space-characters adjacent to commas are ignored
• When data has a strict tabular structure
• To transfer large database between programs
• To import and export data to office applications, Qedoc modules
CSV File Characteristics
WHEN USE CSV?
24. KVS RO AGRA
• CSV is faster to handle
• CSV is smaller in size
• CSV is easy to generate
• CSV is human readable and easy to edit manually
• CSV is simple to implement and parse
• CSV is processed by almost all existing applications
• No standard way to represent binary data
• There is no distinction between text and numeric values
• Poor support of special characters and control characters
• CSV allows to move most basic data only. Complex configurations cannot be imported and
exported this way
• Problems with importing CSV into SQL (no distinction between NULL and quotes)
CSV Advantages
CSV Disadvantages
25. KVS RO AGRA
CSV file handling in Python
To perform read and write operation with
CSV file,
• we must importcsv module.
• open() function is used toopen file, and
return file object.
26. KVS RO AGRA
WRITING DATA IN CSV FILE
import csv module
Use open() to open CSV file by specifying
mode
“w” or “a”, it will return file object.
“w” will overwrite previous content
“a” will add content to the end of previous
content.
Pass the file object to writer object with
delimiter.
Then use writerow() to send data in CSV file
27. KVS RO AGRA
import csv
with open(r'C:UserslenovoDesktoppython filesnew.csv','w') as wr:
a=csv.writer(wr,delimiter=",")
a.writerow(["Roll no","Name","Marks"])
a.writerow(["1","Rahul","85"])
a.writerow(["2","Priya","80"])
wr.close()
Writing to CSV file
29. KVS RO AGRA
Reading from CSV file
• import csv module
• Use open() to open csv file, it will return file
object.
• Pass this file object to reader object.
• Perform operation you want
30. KVS RO AGRA
import csv
with open(r'C:UserslenovoDesktoppython filesnew.csv',‘r') as rr:
a=csv.reader(rr)
for i in a:
print(i)
wr.close()
Reading from CSV file
31. KVS RO AGRA
THANK YOU &
HAVE A NICE DAY
UNDER THE GUIDANCE OF KVS RO AGRA
VEDIO LESSON PREPARED BY:
KIRTI GUPTA
PGT(CS)
KV NTPC DADRI