Danh sách từ điển để excel python

Trong bài viết này, chúng tôi sẽ thảo luận về cách triển khai thực tế cách viết từ điển danh sách sang CSV

Chúng ta có thể sử dụng mô-đun csv cho việc này. Đối tượng tệp csvwriter hỗ trợ ba phương thức như csvwriter. writerow[], csvwriter. writerows[], csvwriter. đầu ghi[].  

cú pháp

csv.writer[csvfile, dialect='excel']

Thông số

  • csvfile. Một đối tượng tệp với phương thức write[]
  • phương ngữ [tùy chọn]. Tên của phương ngữ được sử dụng

Phương pháp 1. sử dụng csv. viết []

Để ghi từ điển danh sách vào tệp CSV, các chức năng cần thiết là csv. nhà văn[], csv. viết []. Phương pháp này viết một hàng tại một thời điểm. Các hàng của trường có thể được viết bằng phương pháp này

cú pháp

csvwriter.writerow[row]

ví dụ 1

Python3




csvwriter.writerow[row]
5

csvwriter.writerow[row]
6
csvwriter.writerow[row]
7

 

csvwriter.writerow[row]
8

csvwriter.writerow[row]
9

csvwriter.writerow[row]
0
csvwriter.writerow[row]
0
csvwriter.writerow[row]
1
csvwriter.writerow[row]
2
csvwriter.writerow[row]
3
csvwriter.writerow[row]
4
csvwriter.writerow[row]
5

csvwriter.writerow[row]
6

csvwriter.writerow[row]
7____18

csvwriter.writerow[row]
7____120

csvwriter.writerow[row]
7_______122
csvwriter.writerow[row]
23
csvwriter.writerow[row]
24
csvwriter.writerow[row]
25
csvwriter.writerow[row]
3
csvwriter.writerow[row]
27
csvwriter.writerow[row]
3
csvwriter.writerow[row]
29
csvwriter.writerow[row]
20

Hãy tưởng tượng rằng bạn đang tổ chức một hội nghị khoa học dữ liệu. Bạn đang lập danh sách những người tham dự. Sau này bạn muốn tra tên trong danh sách người tham dự này. Mất bao nhiêu thời gian để tìm tên nếu bạn lưu trữ dữ liệu dưới dạng danh sách và dưới dạng từ điển? . Bạn có thể giữ dữ liệu của mình trong danh sách hoặc từ điển. Bạn thậm chí có thể tạo bảng Excel và sử dụng các phím INDEX và MATCH để tìm tên bạn muốn

Nếu bạn đang lưu trữ hàng tỷ tên thì sao?

Trong blog này, tôi sẽ trả lời các câu hỏi liên quan đến thời gian về danh sách và từ điển

Hãy để tôi đưa ra định nghĩa ngắn gọn về danh sách và từ điển

danh sách

Danh sách là một trong những kiểu dữ liệu được sử dụng phổ biến nhất trong Python. Một danh sách là một chuỗi các mục trong một thứ tự

csvwriter.writerow[row]
3

Danh sách có thể thay đổi, chúng có thể được thay đổi sau khi chúng được tạo

Truy cập các phần tử của danh sách

Chúng ta có thể truy cập các phần tử của danh sách theo chỉ mục của chúng

csvwriter.writerow[row]
4Từ điển

Từ điển là bộ sưu tập không có thứ tự của các cặp khóa-giá trị hoặc mục

csvwriter.writerow[row]
5

Từ điển cũng có thể thay đổi, chúng ta có thể thêm, xóa và/hoặc thay đổi các mục khi cần

Truy cập các phần tử của từ điển

Chúng ta có thể truy cập các phần tử của từ điển bằng khóa của chúng

csvwriter.writerow[row]
6Chạy thử

Đã đến lúc chạy thử nghiệm và so sánh tốc độ tra cứu của cả từ điển và danh sách

Dưới đây là cấu hình phần cứng và phần mềm của thiết bị của tôi. Kết quả kiểm tra có thể khác nhau tùy thuộc vào cấu hình máy tính của bạn

Ảnh chụp màn hình của tác giả

Liệt kê chạy thử

Định nghĩa một chức năng để tìm một số trong một danh sách

csvwriter.writerow[row]
7

Tạo danh sách dài và danh sách ngắn để so sánh tốc độ tra cứu

csvwriter.writerow[row]
8

Gọi hàm và đo thời gian với timeit

csvwriter.writerow[row]
9

Như chúng ta có thể thấy trong quá trình chạy thử, danh sách càng lớn thì càng mất nhiều thời gian

csvwriter.writerow[row]
0

Chạy thử từ điển

Định nghĩa một chức năng để tìm một số trong từ điển

csvwriter.writerow[row]
1

Tạo từ điển dài và từ điển ngắn để so sánh tốc độ tra cứu

csvwriter.writerow[row]
2

Gọi hàm và đo thời gian bằng cách sử dụng timeit

csvwriter.writerow[row]
40

Như chúng ta thấy trong quá trình chạy thử nghiệm, độ dài của từ điển không ảnh hưởng đến thời gian tra cứu

csvwriter.writerow[row]
41Phân tích kết quả chạy thử

Trong ví dụ đơn giản này, với cấu hình máy tính xách tay của tôi,

cho 100 mặt hàng

0. 0000014 giây/0. 00000021 giây= 6. 66

Một từ điển là 6. Nhanh hơn 6 lần so với danh sách khi chúng tôi tra cứu 100 mục

Đối với 10.000.000 mặt hàng

0. 123 giây /0. 00000021giây = 585714. 28

Khi nói đến 10.000.000 mục, tra cứu từ điển có thể nhanh hơn 585714 lần so với tra cứu danh sách

6. 6 hoặc 585714 chỉ là kết quả chạy thử đơn giản với máy tính của tôi. Những điều này có thể thay đổi trong các trường hợp khác

Tại sao tra cứu các mục trong từ điển nhanh hơn nhiều?
  • Bạn phải đi qua toàn bộ danh sách để có được những gì bạn muốn. Tuy nhiên, từ điển sẽ trả về giá trị bạn yêu cầu mà không cần thông qua tất cả các khóa
  • Hai lần ở trên cho 100 và 10000000 gần như giống nhau đối với từ điển, đó là vì từ điển có thể gần như ngay lập tức chuyển đến khóa mà nó được yêu cầu nhờ tra cứu
  • Tra cứu trong từ điển nhanh hơn vì Python triển khai chúng bằng cách sử dụng bảng băm
  • Nếu chúng ta giải thích sự khác biệt bằng các khái niệm Big O, từ điển có độ phức tạp thời gian không đổi, O[1] trong khi danh sách có độ phức tạp thời gian tuyến tính, O[n]
Sự đánh đổi không-thời gian

Cách nhanh nhất để tra cứu dữ liệu liên tục với hàng triệu mục trong Python là sử dụng từ điển. Vì từ điển là loại ánh xạ tích hợp trong Python nên chúng được tối ưu hóa cao. Tuy nhiên, chúng tôi có một sự đánh đổi không-thời gian điển hình trong từ điển và danh sách. Điều đó có nghĩa là chúng ta có thể giảm thời gian cần thiết cho thuật toán của mình nhưng chúng ta cần sử dụng nhiều dung lượng hơn trong bộ nhớ

Mặc dù từ điển được tối ưu hóa hơn rất nhiều trong Python 3. 6, chúng vẫn sử dụng nhiều bộ nhớ hơn danh sách, vì bạn cũng cần sử dụng dung lượng cho các khóa và tra cứu, trong khi danh sách chỉ sử dụng dung lượng cho các giá trị

Liên kết hữu ích
  1. So sánh độ phức tạp về thời gian của các hoạt động khác như nối thêm, xóa, đảo ngược trong danh sách và từ điển từ Geek dành cho chuyên viên máy tính
  2. Một lời giải thích tuyệt vời về độ phức tạp của thời gian và ký hiệu O lớn của CS Dojo

3. Một lời giải thích ngắn gọn trong 6 phút về bảng băm và tra cứu của Gayle Laakmann, tác giả của cuốn sách Cracking The Coding Interview

Cảm ơn vì đã đọc

Nếu bạn muốn liên lạc, bạn có thể gửi email cho tôi theo địa chỉ seymatas@gmail. com, hoặc bạn có thể tìm thấy tôi tại https. //www. linkin. com/in/seyma-tas/

Bạn có thể tạo danh sách từ điển bằng Python không?

Trong Python, bạn có thể có Danh sách từ điển . Bạn đã biết rằng các phần tử của Danh sách Python có thể là các đối tượng thuộc bất kỳ loại nào. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tạo danh sách từ điển, cách truy cập chúng, cách thêm từ điển vào danh sách và cách sửa đổi chúng.

Các giá trị dict có thể là danh sách không?

Chắc chắn nó có thể có một danh sách và bất kỳ đối tượng nào làm giá trị nhưng từ điển không thể có một danh sách làm khóa vì danh sách là cấu trúc dữ liệu có thể thay đổi và các khóa không thể thay đổi để sử dụng cho mục đích khác .

Chủ Đề