0% found this document useful (0 votes)
24 views

data file handling.docx

data file handling

Uploaded by

Mafnitha KK
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

data file handling.docx

data file handling

Uploaded by

Mafnitha KK
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

DATA FILE HANDLING

1 Give one difference between Text file and Binary File


Ans Text file contains EOL character at the end of every line, there is no such character in binary file

2 Write a Python statement to open a text file “DATA.TXT” so that new contents can be written
on it.
Ans f = open(“DATA.TXT”,‟w‟)
3 Write a Python statement to open a text file “DATA.TXT” so that new content can be
added to the end of file
Ans f = open(“DATA.TXT”,‟a‟)
4 Write a Python statement to open a text file “DATA.TXT” so that existing contents can be read
from file.
Ans f = open(“DATA.TXT”)
5 A file “MYDATA.TXT” is opened as
file1 = open(“MYDATA.TXT”)
Write a Python statement to close this file.
Ans file1.close()
6 What is the different in file opening mode “a” and “w” ?
Ans “w” is used to write in file from the beginning. If file already exists then it will overwrite the
previous content.
“a” (append – add at the end ) is also used to write in file. If file already exists it will write after
the previous content i.e. it will not overwrite the previous content and add new content after
the existing content.
6 What is the significance of adding „+‟ with file opening mode, with context to „r+‟ ?
Ans “+” is used to add alternate action with specified mode i.e. if used with “r” as “r+” it
means it will allows to read and alternate action write.
7 What is the difference between readline() and readlines() ?
Ans readline() allows to read single line from file and return the content as string. readlines()
function will read all the lines from file and return it as a List of
lines/string.
8 What is the purpose of using flush() in file handling operations ?
Ans When we are writing data in file the content will be stored in file only when we close the file.
Before closing the file i.e. during the operations fill will be created but the content will be in
buffer not in file and when we close the file content will be shifted to file from buffer.
flush() allows the user to send content in file before closing the file. It means when flush() is used
it will clear the buffer and transfer content to file.

9 What is the advantage of opening file using „with‟ keyword?


Ans With keyword reduces the overheads involve in file handling operations like closing the file after
operation or handling the file closing with exceptions. When file is opened using “with” it will
manage these things i.e. file will be automatically closed
after operations. It ensures the closing of file even if exceptions arises.
10 Considering the content stored in file “INDIA.TXT”
India is a country in South Asia.
It is second largest country in population and seventh largest country by land area.
It is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Its capital is New Delhi
Write the output of following statements – f =
open("INDIA.TXT")
sr1 = # to read first line of file
str2 = # to read next line of file
str3 = # to read remaining lines of file
Ans str1 = f.readline()
str2 = f.readline()
str3 = f.readlines() OR str3 = f.read()
11 Considering the content stored in file “INDIA.TXT”
India is a country in South Asia.
It is second largest country in population and seventh largest country by land area.
It is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Its capital is New Delhi
Complete the missing statement using „for‟ loop to print all the lines of file

f = open(“INDIA.TXT”)
for :
print( )
Ans for line in f :
print(line)
12 What is the difference in write() and writelines()?
Ans write() function is used to write single string in file whereas writelines() function allows to
write List of strings
13 Considering the content stored in file “WORLDCUP.TXT”, write the output
India won the Cricket world cup of 1983
f = open(“WORLDCUP.TXT”)
print(f.read(2))
print(f.read(2))
print(f.read(4))
Ans In
di
a wo
14 Write a function in python to count the number of lines in “INDIA.TXT” begins from Upper case
character.
For e.g
India is a country in South Asia.
It is second largest country in population and seventh largest country by land area.
It is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Its capital is New Delhi
Ans def UpperCase():
f = open('INDIA.TXT')
count = 0
for line in f:
if line[0].isupper():
count+=1
print("Lines starting from Capital letters: ",count)
15 Write a function in python to read lines from file “INDIA.TXT” and count how many times the word
“India” exists in file.
For e.g. if the content of file is :
India is a country in South Asia.
India is second largest country in population
It is the seventh largest country by land area.
India is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Its capital is New Delhi
Output should be: Number of time word INDIA occurs : 4

Ans Solution 1:
def INDIACount():
f = open('INDIA.TXT')
count = 0
for line in f:
words = line.lower().split() count
+= words.count('INDIA')
print("Number of time words INDIA occurs: ",count)

Solution 2:
def INDIACount():
f = open('INDIA.TXT')
count = 0
for line in f:
words = line.split()
for w in words:
if w.lower()=='INDIA':
count+=1
print("Number of time words INDIA occurs: ",count)
16 Write a function in python to read lines from file “INDIA.TXT” and display all those words, which
has two characters in it.
For e.g. if the content of file is India is a country in South Asia.
India is second largest country in population
It is the seventh largest country by land area.
India is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Its capital is New Delhi

Ans def TwoCharWord():


f = open('INDIA.TXT')
count = 0
for line in f:
words = line.split()
for w in words:
if len(w)==2:
print(w,end=' ')
17 Write a function COUNT() in Python to read contents from file “REPEATED.TXT”, to count and
display the occurrence of the word “Catholic” or “mother”.
For example:
If the content of the file is “Nory was a Catholic because her mother was a Catholic , and Nory‟s mother
was a Catholic because her father was a Catholic , and her father was a
Catholic because his mother was a Catholic , or had been
The function should display:
Count of Catholic, mother is 9
Ans def COUNT():
f = open('REPEATED.txt')
count = 0
for line in f:
words = line.split()
for w in words:
if w.lower()=='catholic' or w.lower()=='mother':
count+=1
print('Count of Catholic,mother is',count)
18 Write a function dispS() in Python to read from text file “INDIA.TXT” and display those lines which
starts with “I”
For example:
If the content of the file is “

India is a country in South Asia.


India is second largest country in population
seventh largest country by land area is India.
India is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Capital of India is New Delhi

Ans def dispS():


f = open('INDIA.TXT')
count = 0
for line in f:
if line[0].lower()=='i':
print(line)
19 Write a function COUNTSIZE() in Python to read the file “INDIA.TXT” and display size of file.
For e.g. if the content of file is :
India is a country in South Asia.
India is second largest country in population
It is the seventh largest country by land area.
India is also the most populous democracy in the world.
India has the fourth largest number of spoken languages per country in the world.
Its capital is New Delhi
Ans def COUNTSIZE():
f = open('INDIA.TXT')
s = f.read()
print(„Size of file is „,len(s))
20 Write a python function ATOEDISP() for each requirement in Python to read the file “NEWS.TXT”
and
(I) Display “E” in place of all the occurrence of “A” in the word COMPUTER.
(II) Display “E” in place of all the occurrence of “A”:
I SELL COMPUTARS. I HAVE A COMPUTAR. I NEED A COMPUTAR. I WANT A COMPUTAR. I USE THAT
COMPUTAR. MY COMPUTAR CRASHED.
The function should display
(I) I SELL COMPUTERS. I HAVE A COMPUTER. I NEED A COMPUTER. I WANT A COMPUTER. I
USE THAT COMPTUER. MY COMPUTER CRASHED.
I SELL COMPUTERS. I HEVE E COMPUTER. I NEED E COMPUTER. I WENT E COMPUTER. I USE THET
COMPTUER. MY COMPUTER CRESHED.
Ans (I)
def ATOEDISP():
f = open('NEWS.TXT')
for line in f:
s = line.split()
for word in s:
if 'computar' in word.lower():
word=word.replace('A','E')
print(word,end=' ')
(I)
def ATOEDISP():
f = open('NEWS.TXT')
s = f.read() for
ch in s:
if ch.lower()=='a':
print('E',end='')
else:
print(ch,end='')

BINARY FILE HANDLING & CSV


1 Letter is prefixed to store string in binary form
Ans b
2 Write a Python statement to open a text file “DATA.TXT” in binary mode so that new contents
can be written on it.
Ans f = open('DATA.TXT','wb')
3 Write a Python statement to open a text file “DATA.TXT” in binary mode so that
new content can be added to the end of file
Ans f = open('DATA.TXT','ab')
4 Write a Python statement to open a text file “DATA.TXT” in binary mode so that existing contents
can be read from file.
Ans f = open('DATA.TXT','rb')
5 function is used to convert string in binary form.
Ans encode()
6 Consider the following Python code, and fill in the blank to complete the program
f=open("India.txt","wb")
str="India is my country"
f. (str.encode()) # statement to store the str in file
f.close()

Ans f.write(str.encode())
7 function is used to fetch binary data from binary file
Ans
8 function is used to convert binary string to string
Ans read() and load()
9 function is used in binary mode to send the read pointer to desired
position
Ans seek()
Note: seek() function of file object is used to reposition the cursor Syntax :
seek(number of bytes to read, seek_direction)
Seek_direction can be 0 – beginning, 1 – current position , 2- from last (can be in negative
also for backward traversing)

10 Consider a binary file which stores Name of employee, where each name occupies 20
bytes (length of each name) in file irrespective of actual characters. Now you have to
write code to access the first name, 5th name and last name.

f = open("Emp.txt","rb")
s= #code to get first record
print(s.decode())
# code to position at 5th record s =
f.read(size)
print(s.decode())
# code to position at last record s =
f.read(20)
print(s.decode())
f.close()
Ans f.read(20)
f.seek((5-1)*20)
f.read(((os.path.getsize(„Emp.txt‟)/20)-1)
11 Write a Python statement to reposition the read pointer to 20 bytes back from the
current position.
f = open("Emp.txt","rb")
f.read(20)
f.read(20)
f.read(20)
f. # reposition read pointer to previous record
f.close()
Ans f.seek(-20,1)
12 Write a function RECCOUNT() to read the content of binary file „NAMES.DAT‟ and display
number of records ( each name occupies 20 bytes in file ) in it.
For. e.g. if the content of file is:
SACHIN
AMIT AMAN
SUSHIL
DEEPAK
HARI SHANKER
Function should display
Total Records are 6

Ans import os
def RECCOUNT():
size_of_rec = 20 #Each name will occupy 20 bytes file_len
= os.path.getsize('Names.dat')
num_record = file_len/size_of_rec print("Total
Records are :",num_record)
13 Write a function SCOUNT() to read the content of binary file „NAMES.DAT‟ and display
number of records (each name occupies 20 bytes in file ) where name begins from „S‟ in
it.
For. e.g. if the content of file is:
SACHIN
AMIT AMAN
SUSHIL
DEEPAK
HARI SHANKER
Function should display
Total Names beginning from „S‟ are 2

Ans def SCOUNT():


s=' '
count=0
with open('Names.dat','rb') as f: while(s):
s = f.read(20)
s=s.decode() if
len(s)!=0:
if s[0].lower()=='s':
count+=1
print('Total names beginning from "S" are ',count)
14 To read and write collections like LIST, DICTIONARIES Python provides a module
called
Ans pickle
15 is the process of converting structures to byte stream before writing to
file.
Ans Pickling
16 is the process of converting byte stream to original structure.
Ans Unpickling
17 Pickling is done by the function
Ans dump()
18 Unpickling is done by the function
Ans load()
19 Consider the following Python code and complete the missing statement:

import pickle
myfile = open("test.dat","wb")
d={1:100,2:200,3:300}
#statement to store dictionary d in file
myfile.close()
Ans pickle.dump(d,myfile)
20 Consider the following Python code and complete the missing statement:
import pickle
myfile = open("test.dat","rb")
d= #statement to load dictionary data from file to „d‟
print(d)
myfile.close()
Ans pickle.load(myfile)
21 Python‟s standard streams are , ,
Ans stdin, stdout, stderr
22 Python‟s standard streams are available in module
Ans sys
23 From the given path identify the type of each:
(i) C:\mydata\web\resources\img.jpg
(ii) ..\web\data.conf
Ans (i) Absolute
(ii) Relative
24 Consider the following Binary file „Emp.txt‟, Write a function RECSHOW() to display only
those records who are earning more than 7000

Ans import pickle def


RECSHOW():
emp=[]
f = open('employee.dat','rb')
while True:
try:
emp = pickle.load(f) # loading data in emp list except
EOFError:
break
print("%10s"%"EMP NO ","%20s"%"EMP NAME ","%10s"%"EMP SALARY")
print("*****************************************************")
for e in emp:
if (e[2]>7000):
print("%10s"%e[0],"%20s"%e[1],"%10s"%e[2])
found=True

if found==False:
print("## SORRY EMPLOYEE NUMBER NOT FOUND ##")
f.close()
24 CSV stands for
Ans Comma Separate Value
25 object is used to read data from csv file?
Ans reader
26 object is used to perform write operation on csv file.
Ans writer
27 function of writer object is used to send data to csv file to store.
Ans writerow()
28 Consider the following CSV file (emp.csv):
1,Peter,3500
2,Scott,4000
3,Harry,5000
4,Michael,2500
5,Sam,4200

Write Python function DISPEMP() to read the content of file emp.csv and display only those
records where salary is 4000 or above
Ans import csv
def DISPEMP():
with open('emp.csv') as csvfile:
myreader = csv.reader(csvfile,delimiter=',') print("%10s"%"EMPNO","%20s"%"EMP
NAME","%10s"%"SALARY")
print("==================================================")
for row in myreader:
if int(row[2])>4000:
print("%10s"%row[0],"%20s"%row[1],"%10s"%row[2])
29 Consider the following CSV file (emp.csv):
1,Peter,3500
2,Scott,4000
3,Harry,5000
4,Michael,2500
5,Sam,4200

Write a Python function DISPEMP() to read the content of file emp.csv and count how many
employee are earning less than 5000
Ans import csv
def DISPEMP():
with open('emp.csv') as csvfile:
myreader = csv.reader(csvfile,delimiter=',')
count=0
print("%10s"%"EMPNO","%20s"%"EMP NAME","%10s"%"SALARY")
print("==================================================")
for row in myreader:
if int(row[2])<5000:
count+=1
print("==================================================")
print("%40s"%"#EMPLOYEE GETTING SALARY <5000 :",count)
print("==================================================")
30 Consider the following CSV file (emp.csv):
1,Peter,3500
2,Scott,4000
3,Harry,5000
4,Michael,2500
5,Sam,4200

Write a Python function SNAMES() to read the content of file emp.csv and display the employee
record whose name begins from „S‟ also show no. of employee with first letter „S‟ out of total
record.
Output should be:
2,Scott,4000
5,Sam,4200
Number of „S‟ names are 2/5
Ans import csv
def SNAMES():
with open('emp.csv') as csvfile:
myreader = csv.reader(csvfile,delimiter=',')
count_rec=0
count_s=0
for row in myreader:
if row[1][0].lower()=='s':
print(row[0],',',row[1],',',row[2])
count_s+=1
count_rec+=1
print("Number of 'S' names are ",count_s,"/",count_rec)
31 Write a python function CSVCOPY() to take sourcefile, targetfile as parameter and create a
targetfile and copy the contents of sourcefile to targetfile
Ans import csv
def CSVCOPY(sourcefile,targetfile): with
open(sourcefile) as csvfile:
f2 = open(targetfile,'w')
mywriter=csv.writer(f2,delimiter=',') myreader
= csv.reader(csvfile,delimiter=',') for row in
myreader:
mywriter.writerow([row[0],row[1],row[2]])
f2.close()

You might also like