You are on page 1of 22

Chương 6: LÀM VIỆC VỚI TẬP TIN

6.1 Giới thiệu về tập tin:


6.2 Đọc và ghi tập tin .txt:
6.3 Đọc và ghi tập tin .csv:

1
6.1 Giới thiệu về tập tin:

 Khái niệm về tập tin (file):

 Tâp tin: tập hợp của các thông tin được đặt tên và được
lưu trữ trên bộ nhớ máy tính như đĩa cứng, đĩa mềm,
CD, DVD, ...
 Hiểu theo một cách khác thì File chính là một dãy bit có
tên và được lưu trữ trên các thiết bị bộ nhớ của máy
tính.
 Có hai loại tập tin cơ bản: tập tin văn bản và tập tin
nhị phân

2
6.1 Giới thiệu về tập tin:

 Tập tin văn bản:


 Định dạng tập tin văn bản được cấu trúc từ các dòng văn
bản điện tử. Văn bản điện tử là một dãy các từ con
người có thể đọc được.
 Các từ này được tạo ra từ các ký tự được mã hóa thành
các định dạng máy vi tính có thể đọc được.
 Nói chung, một tập tin văn bản chỉ có văn bản và không
có hình ảnh và các ký tự không phải văn bản khác.
 Trên các hệ điều hành Windows, tập tin văn bản sẽ có
phần mở rộng của tập tin là “.txt”.
 Tập tin .txt có thể dễ dàng được đọc hoặc mở bởi bất kỳ
chương trình đọc văn bản nào
3
6.1 Giới thiệu về tập tin:

4
6.1 Giới thiệu về tập tin:

 Tập tin nhị phân:


 Tập tin nhị phân (Binary file): tập tin máy tính được sử
dụng để lưu trữ dữ liệu nhị phân.
 Chứa bất kỳ loại định dạng hoặc chưa định dạng dữ liệu
được mã hóa trong định dạng nhị phân.
 Được sử dụng trực tiếp bởi máy tính và thường không
được sử dụng bởi con người.

5
6.1 Giới thiệu về tập tin:

6
6.1 Giới thiệu về tập tin:

 Tập tin .csv:


 CSV (Comma Separated Values) là một loại định dạng
văn bản đơn giản mà trong đó, các giá trị được ngăn
cách với nhau bằng dấu phẩy.
 Định dạng CSV thường xuyên được sử dụng để lưu các
bảng tính quy mô nhỏ như danh bạ, danh sách lớp, báo
cáo.

7
6.1 Giới thiệu về tập tin:

 Tập tin .csv:


 Một văn bản CSV gồm nhiều dòng chứa các giá trị và
các dấu phẩy.
 Dòng đầu tiên của văn bản CSV chứa tên của từng cột
trong bảng tính, mỗi cột được xác định bằng 2 dấu phẩy
(trừ cột đầu tiên và cuối cùng).
 Tất cả những dòng sau đó đều có cấu trúc tương tự,
chứa các giá trị tương ứng của từng cột. Và mỗi dòng
của văn bản là một dòng giá trị khác nhau trên bảng tính.

8
6.1 Giới thiệu về tập tin:

9
6.1 Giới thiệu về tập tin:

 Thao tác trên tập tin:

 Mở tập tin – Open file.


 Đọc tập tin – Read file.
 Ghi tập tin – Write file.
 Đóng tập tin – Close file.
 Đổi tên tập tin – Rename file.
 Xóa tập tin – Delete file.

10
6.2 Đọc và ghi tập tin .txt:

6.2.1 Mở tập tin .txt:


 Trước khi muốn đọc hoặc ghi file, cần phải mở tập tin.

 Cú pháp mở tập tin:

>>> f = open(filename, mode, encoding)

• open(): hàm mở tập tin


• filename: tên tập tin bao gồm đường dẫn thư mục chứa tập tin
• mode: các chế độ làm việc của tập tin

11
6.2 Đọc và ghi tập tin .txt:
6.2.1 Mở tập tin .txt:

12
6.2 Đọc và ghi tập tin .txt:
6.2.1 Mở tập tin .txt:

13
6.2 Đọc và ghi tập tin .txt:
6.2.1 Mở tập tin .txt:

v# Mở tập tin

# Open function to open the file "MyFile1.txt"


# (same directory) in append mode and
file1 = open("MyFile1.txt","a")

# store its reference in the variable file1


# and "MyFile2.txt" in D:\Text in file2
file2 = open("D:\Text\MyFile2.txt","w+")

14
6.2 Đọc và ghi tập tin .txt:

6.2.2 Đọc tập tin:


 Để đọc một file ta cần mở file bằng cú pháp để đọc, sử

dụng mode read ‘r’


 Các phương thức đọc nội dung tập tin:
• read(size): đọc dữ liệu theo kích thước (size)
• readline(): đọc 1 dòng văn bản
• readlines(): đọc tất cả các dòng văn bản còn lại

 Các phương thức kiểm soát vị trí (con trỏ - pointer):


• tell(): cho biết vị trí hiện tại của con trỏ trong tập tin
• seek(): thay đổi vị trí của con trỏ

15
6.2 Đọc và ghi tập tin .txt:
6.2.2 Đọc tập tin:
v# Đọc tập tin

file1 = open("myfile.txt","r+")

print ("Output of Read function is “)


print (file1.read())
file1.seek(0)

print ("Output of Readline function is “)


print (file1.readline())
file1.seek(0)

16
6.2 Đọc và ghi tập tin .txt:

6.2.3 Ghi tập tin:


 Để ghi file ta cần mở file bằng cú pháp để ghi, sử dụng

mode write ‘w’


 Các phương thức ghi nội dung vào tập tin:
• write(str): ghi 1 chuỗi kí tự vào file
• writelines(list): ghi 1 danh sách các chuỗi kí tự vào file

17
6.2 Đọc và ghi tập tin .txt:
6.2.3 Ghi tập tin:

vfile1 = open("myfile.txt","w")
L = ["This is Delhi \n","This is Paris \n","This is London \n"]

file1.write("Hello \n")
file1.writelines(L)
file1.close()

18
6.3 Đọc và ghi tập tin .csv:

6.3.1 Tập tin .csv:


 csv là viết tắt của (comma separated values) được định

nghĩa là định dạng tệp đơn giản sử dụng cấu trúc cụ thể
để sắp xếp dữ liệu dạng bảng.
 Nó lưu trữ dữ liệu dạng bảng như bảng tính hoặc cơ sở
dữ liệu bằng văn bản thuần túy và có định dạng chung
để trao đổi dữ liệu.

19
6.3 Đọc và ghi tập tin .csv:

6.3.1 Tập tin .csv:


 Các hàm của module CSV trong python:

• csv.field_size_limit - Nó trả về kích thước max của trường hiện tại


• csv.get_dialect - Trả về dialect liên kết đến tên.
• csv.list_dialects - Trả về tên của tất cả các dialect đã đăng ký.
• csv.reader - Đọc dữ liệu từ tệp csv.
• csv.register_dialect - Liên kết dialect với một tên. Tên phải là một chuỗi hoặc một đối
tượng Unicode.
• csv.writer - Ghi dữ liệu vào tệp csv.
• csv.unregister_dialect - Xóa dialect được liên kết với tên từ sổ đăng ký dialect. Nếu
tên không phải là tên dialect đã đăng ký, thì lỗi sẽ được đưa ra.
• csv.QUOTE_ALL - Hướng dẫn đối tượng writer trích dẫn tất cả các trường.
• csv.QUOTE_MINIMAL - Hướng dẫn đối tượng writer chỉ trích dẫn những trường có
chứa các ký tự đặc biệt như dấu ngoặc kép, dấu phân cách, v.v.
• csv.QUOTE_NONNUMERIC - Hướng dẫn đối tượng writer trích dẫn tất cả các
trường không phải là số.
• csv.QUOTE_NONE - Hướng dẫn đối tượng writer không bao giờ trích dẫn các
trường.

20
6.3 Đọc và ghi tập tin .csv:
6.3.2 Đọc file .csv:

vimport csv
with open('D:\CSV.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
print('Tên các cột là: {},{},{}'.format(row[0],row[1],row[2]))
line_count += 1
else:
print('Họ tên:{},Nghề nghiệp:{},Tháng sinh:{}'.format(row[0],row[1],row[2]))
line_count += 1
print('Đã đọc {} lines.'.format(line_count))

21
6.3 Đọc và ghi tập tin .csv:
6.3.3 Ghi file .csv:

vimportcsv
with open(‘D:\csv1.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow([“name", “department", “birthday month"])
writer.writerow([“Parker”, “Accounting", “November"])
writer.writerow([“Smith”, “IT", “October"])

22

You might also like