Nhận chiều dài của dictreader python

CSV (Giá trị được phân tách bằng dấu phẩy) là định dạng dữ liệu nhập và xuất rất phổ biến được sử dụng trong bảng tính và cơ sở dữ liệu. Mỗi dòng trong tệp CSV là một bản ghi dữ liệu. Mỗi bản ghi bao gồm một hoặc nhiều trường, được phân tách bằng dấu phẩy. Mặc dù CSV là một định dạng dữ liệu rất đơn giản, nhưng có thể có nhiều điểm khác biệt, chẳng hạn như các dấu phân cách khác nhau, dòng mới hoặc ký tự trích dẫn

Mô-đun csv Python

Mô-đun

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
2 triển khai các lớp để đọc và ghi dữ liệu dạng bảng ở định dạng CSV. Các đối tượng
#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
4 và
#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
5 đọc và viết các đối tượng của mô-đun
#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
2. Các lập trình viên cũng có thể đọc và ghi dữ liệu ở dạng từ điển bằng cách sử dụng các lớp
#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
6 và
#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
7

Bảng sau đây hiển thị các phương thức csv của Python

Phương thứcMô tảcsv. trình đọc trả về một đối tượng trình đọc lặp qua các dòng của tệp CSVcsv. nhà văn trả về một đối tượng nhà văn ghi dữ liệu vào CSV filecsv. register_dialectregisters một phương ngữ CSVcsv. unregister_dialectunregisters một phương ngữ CSVcsv. get_dialecttrả về một phương ngữ có têncsv đã cho. list_dialectstrả về tất cả các phương ngữ đã đăng kýcsv. field_size_limittrả về kích thước trường tối đa hiện tại mà trình phân tích cú pháp cho phép

Sử dụng mô-đun csv Python

import csv

Để sử dụng mô-đun Python CSV, chúng tôi nhập

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
2

Phương thức

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
9 trả về một đối tượng trình đọc lặp lại qua các dòng trong tệp CSV đã cho

$ cat numbers.csv 
16,6,4,12,81,6,71,6

Tệp

reader = csv.reader(f)
0 chứa các số

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)

Trong ví dụ mã, chúng tôi mở

reader = csv.reader(f)
0 để đọc và đọc nội dung của nó

reader = csv.reader(f)

Chúng tôi nhận được đối tượng

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
4

for row in reader:
    for e in row:
        print(e)

Với hai vòng lặp for, chúng tôi lặp lại dữ liệu

$ ./read_csv.py 
16
6
4
12
81
6
71
6

Trình đọc CSV Python với dấu phân cách khác nhau

Phương thức

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
9 cho phép sử dụng một dấu phân cách khác với thuộc tính
reader = csv.reader(f)
4 của nó

$ cat items.csv 
pen|cup|bottle
chair|book|tablet

reader = csv.reader(f)
5 chứa các giá trị được phân tách bằng '. ' tính cách

#!/usr/bin/python

import csv

f = open('items.csv', 'r')

with f:

    reader = csv.reader(f, delimiter="|")
    
    for row in reader:
        
        for e in row:            
            print(e)

Ví dụ về mã đọc và hiển thị dữ liệu từ tệp CSV sử dụng '. ' dấu phân cách

$ ./read_csv2.py 
pen
cup
bottle
chair
book
tablet

Lớp

reader = csv.reader(f)
6 hoạt động như một trình đọc thông thường nhưng ánh xạ thông tin đã đọc vào từ điển. Các khóa cho từ điển có thể được chuyển vào bằng tham số
reader = csv.reader(f)
7 hoặc được suy ra từ hàng đầu tiên của tệp CSV

$ cat values.csv 
min,avg,max
1, 5.5, 10
2, 3.5, 5

Dòng đầu tiên của tệp bao gồm các khóa từ điển

Quảng cáo
$ cat numbers.csv 
16,6,4,12,81,6,71,6
0

Ví dụ đọc các giá trị từ tệp

reader = csv.reader(f)
8 bằng cách sử dụng
reader = csv.reader(f)
6

$ cat numbers.csv 
16,6,4,12,81,6,71,6
1

Hàng là một từ điển Python và chúng tôi tham chiếu dữ liệu bằng các khóa

Người viết CSV Python

Phương thức

for row in reader:
    for e in row:
        print(e)
0 trả về một đối tượng nhà văn chuyển đổi dữ liệu của người dùng thành các chuỗi được phân tách trên đối tượng giống như tệp đã cho

$ cat numbers.csv 
16,6,4,12,81,6,71,6
2

Tập lệnh viết số vào tệp

for row in reader:
    for e in row:
        print(e)
1. Phương thức
for row in reader:
    for e in row:
        print(e)
2 ghi một hàng dữ liệu vào tệp được chỉ định

$ cat numbers.csv 
16,6,4,12,81,6,71,6
3

Có thể ghi tất cả dữ liệu trong một lần chụp. Phương thức

for row in reader:
    for e in row:
        print(e)
3 ghi tất cả các hàng đã cho vào tệp CSV

$ cat numbers.csv 
16,6,4,12,81,6,71,6
4

Ví dụ mã viết ba hàng số vào tệp bằng phương thức

for row in reader:
    for e in row:
        print(e)
3

Python CSV DictWriter

Lớp

for row in reader:
    for e in row:
        print(e)
5 hoạt động giống như một trình soạn thảo thông thường nhưng ánh xạ từ điển Python vào các hàng CSV. Tham số
reader = csv.reader(f)
7 là một chuỗi các khóa xác định thứ tự các giá trị trong từ điển được truyền cho phương thức
for row in reader:
    for e in row:
        print(e)
2 được ghi vào tệp CSV

$ cat numbers.csv 
16,6,4,12,81,6,71,6
5

Ví dụ ghi các giá trị từ từ điển Python vào tệp CSV bằng cách sử dụng

for row in reader:
    for e in row:
        print(e)
5

Quảng cáo
$ cat numbers.csv 
16,6,4,12,81,6,71,6
6

for row in reader:
    for e in row:
        print(e)
5 mới được tạo. Tên tiêu đề được chuyển đến tham số
reader = csv.reader(f)
7

$ cat numbers.csv 
16,6,4,12,81,6,71,6
7

Phương thức

$ ./read_csv.py 
16
6
4
12
81
6
71
6
1 ghi tiêu đề vào tệp CSV

$ cat numbers.csv 
16,6,4,12,81,6,71,6
8

Từ điển Python được ghi vào một hàng trong tệp CSV

$ cat numbers.csv 
16,6,4,12,81,6,71,6
9

Một phương ngữ tùy chỉnh được tạo bằng phương thức

$ ./read_csv.py 
16
6
4
12
81
6
71
6
2

#!/usr/bin/python

import csv

f = open('numbers.csv', 'r')

with f:

    reader = csv.reader(f)

    for row in reader:
        for e in row:
            print(e)
0

Chương trình sử dụng ký tự (#) làm dấu phân cách. Phương ngữ được chỉ định với tùy chọn

$ ./read_csv.py 
16
6
4
12
81
6
71
6
3 trong phương thức
for row in reader:
    for e in row:
        print(e)
0

DictReader trả về gì trong Python?

DictReader() trả về từ điển cho mỗi hàng và chúng tôi không cần sử dụng dict() một cách rõ ràng.

Công dụng của hàm DictReader() là gì?

DictReader(). Lớp DictReader cung cấp thuộc tính tên trường. Nó trả về các khóa từ điển được sử dụng làm tiêu đề của tệp. Để chuyển đổi đối tượng OrderedDict sang từ điển thông thường, trước tiên chúng ta phải nhập OrderedDict từ mô-đun bộ sưu tập

Đâu là sự khác biệt giữa hàm reader() và DictReader() ?

Câu trả lời. Reader() cho phép bạn truy cập dữ liệu CSV bằng chỉ mục và lý tưởng cho các tệp CSV đơn giản. csv. Mặt khác, DictReader() thân thiện và dễ sử dụng hơn, đặc biệt khi làm việc với các tệp CSV lớn

Có bao nhiêu hàng trong tệp CSV?

tệp csv có giới hạn 32.767 ký tự trên mỗi ô. Excel có giới hạn 1.048.576 hàng và 16.384 cột trên mỗi trang tính. Tệp CSV có thể chứa nhiều hàng hơn. Bạn có thể đọc thêm về các giới hạn này và các giới hạn khác từ bài viết hỗ trợ của Microsoft tại đây.