16-mavzu. Pythonda fayllar bilan ishlash. Reja


import csv FILENAME = "users.csv"



Yüklə 38,22 Kb.
səhifə6/8
tarix02.10.2023
ölçüsü38,22 Kb.
#151565
1   2   3   4   5   6   7   8
16-mavzu. Pythonda fayllar bilan ishlash. Reja-fayllar.org

import csv
FILENAME = "users.csv"


with open(FILENAME, "r", newline="") as fayl:
reader = csv.reader(fayl) for row in reader:
print(row[0], " - ", row[1])


reader obyektini olayotganda, biz uning barcha satrlarini ko'chirib olishimiz mumkin:

1
2


3

4

Ali - 25
Sobir - 32
Dilnoza - 14
Shaxnoza - 18


3. Lug'atlar bilan ishlash

Yuqoridagi misolda har bir yozuv yoki satr alohida ro'yxat bo'lib, masalan, ["Shaxnoza", 18]. Bundan tashqari, CSV modullari lug'atlar bilan ishlash uchun maxsus qo'shimcha xususiyatlarga ega. Xususan, csv.DictWriter() funktsiyasi faylga yozish imkonini beruvchi writer obyektni qaytaradi va csv.DictReader() funktsiyasi esa fayldan o'qish uchun reader obyektini qaytaradi. Masalan:


1
2


3 4

5
6


7

8
9


10

11
12

13
14

15
16 17

18
19

20
21

22
23

24
25

26



import csv
FILENAME = "users.csv"
users = [
{"ism": "Ali", "yosh": 25},
{"ism": "Sobir", "yosh": 32},
{"ism": "Dilnoza", "yosh": 14}
] with open(FILENAME, "w", newline="") as fayl:
ustunlar = ["ism", "yosh"]
writer = csv.DictWriter(fayl, fieldnames=ustunlar) writer.writeheader()

# bir qancha qatorlarni yozish writer.writerows(users)
user = {"ism": "Shaxnoza", "yosh": 18}


# bitta qatorni yozish writer.writerow(user)

with open(FILENAME, "r", newline="") as fayl:
reader = csv.DictReader(fayl) for row in reader:
print(row["ism"], "-", row["yosh"])

Qatorlarni writerow() va writerows() metodlari yordamida ham yozish mumkin. Ammo endi har bir satr alohida lug'at, hamda, ustun sarlavhalari writeheader() metodidan foydalanib yoziladi va ikkinchi parametr sifatida csv.DictWriter metodiga ustunlar to„plami uzatiladi.


Ustunlardan foydalangan holda satrdan berilganlarni o‟qishda satr ichidagi alohida qiymatlarga row["ism"] ko„rinishida murojaat qilishimiz mumkin.

3.4. Binar fayllar

Binar fayllarda, matnli fayllardan farqli o'laroq, ma'lumotlar baytlar majmui sifatida saqlanadi. Pythonda ular bilan ishlash uchun pickle – ichki modul kerak bo‟ladi. Ushbu modul ikkita metodni taqdim etadi:




  • dump(obj, file) - obyektni ikkilik faylga yozadi;


  • load(file) - binar fayldan obyektga ma'lumotlarni o'qiydi.

O'qish yoki yozish uchun binar faylni ochishda yozishni ("w") yoki o'qish ("r") rejimidan tashqari "b" rejimidan foydalanish kerakligini ham hisobga olish kerak. Masalan, ikkita obyektni saqlash kerak bo„lsin:


1
2


3 4

5
6


7

8
9


10

11
12

13
14

15




Yüklə 38,22 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin