Viết danh sách từ điển vào csv Python
Hướng dẫn này sẽ hướng dẫn bạn cách ghi tệp CSV bằng Python, bao gồm từ danh sách và từ điển Python. Thư viện Python 7 mang đến cho bạn sự linh hoạt đáng kể trong việc ghi tệp CSV. Ví dụ: bạn có thể ghi danh sách Python vào CSV, bao gồm viết tiêu đề và sử dụng dấu phân cách tùy chỉnh. Tương tự như vậy, bạn có thể viết từ điển Python sang CSV và xử lý các ký tự không phải ASCII Show
Khi kết thúc hướng dẫn này, bạn sẽ học được những điều sau
Mục lục Câu trả lời nhanh. Cách ghi tệp CSV từ danh sách bằng PythonNếu đang vội, bạn có thể sử dụng đoạn mã sau để ghi tệp CSV từ danh sách Python
Làm cách nào bạn có thể ghi danh sách Python vào tệp CSV? Để ghi danh sách Python vào tệp CSV, bạn có thể sử dụng thư viện csv và csv. lớp nhà văn (). Bằng cách chuyển một tệp vào lớp, bạn tạo một đối tượng cho phép bạn viết các hàng đơn và nhiều hàng từ danh sách Python Trong suốt hướng dẫn này, chúng ta sẽ khám phá cách thức hoạt động của phương pháp này, cho phép bạn tùy chỉnh hành vi. Sử dụng mục lục ở trên để bỏ qua một phần cụ thể Cách viết danh sách Python vào tệp CSVTrong phần này, bạn sẽ tìm hiểu cách ghi danh sách Python vào tệp CSV. Python đi kèm với một thư viện, 7, như một phần của thư viện tiêu chuẩn của nó. Đúng như tên gọi, thư viện này được sử dụng để xử lý các tệp CSV, cả về đọc và ghi chúngMột trong những lớp hữu ích cho phép bạn ghi tệp CSV từ danh sách Python là lớp 8. Hãy đi sâu vào cách lớp hoạt động và cách bạn có thể sử dụng nó để ghi tệp CSV từ danh sách PythonHiểu csv. lớp nhà văn () trong PythonLớp 8 có thể được sử dụng để chèn dữ liệu vào tệp CSV bằng Python. Bằng cách chuyển một đối tượng tệp vào lớp, một đối tượng nhà văn mới được trả về. Đối tượng này chuyển đổi dữ liệu đầu vào của người dùng thành một chuỗi được phân tách. Theo mặc định, chuỗi này được phân tách bằng dấu phẩyLớp cung cấp một số phương thức hữu ích
Hãy xem cách chúng ta có thể khởi tạo một lớp 8 bằng cách chuyển vào một tệp đã mở 0Hãy chia nhỏ những gì đang xảy ra trong khối mã ở trên
Lưu ý ở đây rằng chúng tôi đang sử dụng trình quản lý ngữ cảnh. Mặc dù điều này là không cần thiết nhưng nó cho phép bạn chạy mã của mình theo cách an toàn hơn. Điều này là do trình quản lý bối cảnh sẽ đóng tệp sau khi sử dụng xong. Điều này cho phép mã của bạn an toàn hơn với bộ nhớ Bây giờ, hãy đi sâu vào cách chúng ta có thể ghi một hàng vào tệp CSV từ danh sách Python Cách ghi một hàng vào tệp CSV từ danh sách PythonĐể ghi một hàng vào tệp CSV, chúng ta có thể sử dụng phương thức 3 được liên kết với đối tượng 72. Nếu chúng ta chuyển một danh sách Python gồm các danh sách vào phương thức, Python sẽ viết một danh sách tại một thời điểm. Hãy xem nó trông như thế nào
Để viết một hàng tại một thời điểm vào CSV bằng Python, bạn có thể làm theo các bước bên dưới
Điều này tạo ra tệp CSV sau
Quá trình này có thể tốn thời gian nếu bạn muốn viết nhiều dòng cùng một lúc. Vì điều này, Python cung cấp phương thức 4. Hãy cùng khám phá điều đó trong phần sauCách ghi nhiều hàng vào tệp CSV từ danh sách PythonĐể ghi nhiều hàng vào CSV từ danh sách danh sách Python, bạn có thể sử dụng phương thức 77 có trong lớp 8Tương tự như ví dụ của chúng tôi ở trên, chúng tôi có thể tạo đối tượng trình ghi CSV. Tuy nhiên, thay vì viết từng dòng một, chúng ta có thể chuyển nhiều dòng cùng một lúc. Hãy xem nó trông như thế nào trong Python 7Để ghi nhiều hàng vào CSV bằng Python từ danh sách các danh sách, bạn có thể làm theo các bước bên dưới
Khối mã ở trên trả về tệp CSV sau 0Chúng ta có thể thấy điều này làm cho mã của chúng ta đơn giản hơn bao nhiêu. Bây giờ, hãy khám phá cách thêm tiêu đề vào tệp CSV của chúng tôi từ danh sách danh sách Python Cách thêm tiêu đề vào tệp CSV từ danh sách PythonPython giúp việc thêm hàng tiêu đề vào tệp CSV của chúng tôi trở nên đơn giản. Điều này có thể được thực hiện bằng cách kết hợp hai phương pháp bạn đã học cho đến nay. Trong nhiều trường hợp, việc lưu trữ hàng tiêu đề của bạn dưới dạng danh sách trong danh sách danh sách của dữ liệu sẽ không hợp lý. Thay vào đó, tiêu đề thường được duy trì dưới dạng một danh sách hoặc bộ dữ liệu riêng biệt Hãy xem cách chúng tôi có thể thêm tiêu đề vào tệp CSV từ danh sách Python 1Trong khối mã ở trên, chúng tôi
Điều này trả về tệp CSV sau, bao gồm hàng tiêu đề 4Trong phần sau, bạn sẽ tìm hiểu cách nối danh sách vào tệp CSV bằng Python Cách nối danh sách vào tệp CSV bằng PythonVới mỗi phần trước của hướng dẫn, tệp mà bạn đã ghi vào đã bị ghi đè. Đây là điều quan trọng cần lưu ý – ngay cả khi tệp tồn tại, tất cả dữ liệu sẽ bị ghi đè Nếu chúng tôi muốn nối danh sách vào tệp CSV bằng Python, chúng tôi chỉ cần sửa đổi chế độ mà Python mở tệp. Cho đến nay, chúng tôi đã sử dụng chế độ ghi của 7. Bằng cách sửa đổi chế độ để nối thêm, sử dụng 05, chúng tôi có thể nối thêm vào tệp CSV của mình, thay vì ghi đè lên nóHãy xem nó trông như thế nào trong Python 7Khi chúng tôi sử dụng tệp CSV đã tạo trước đó, tệp này sẽ trả về tệp CSV sau 8Trong các phần sau, bạn sẽ tìm hiểu cách ghi từ điển Python vào tệp CSV Cách viết từ điển Python vào tệp CSV bằng DictWriterTương tự như đối tượng 8, mô-đun 7 cung cấp một lớp để ghi từ điển vào tệp CSV. Lớp này được gọi là lớp 9 và cung cấp các phương thức tương tự để ghi dữ liệu vào tệp CSVLàm cách nào bạn có thể viết từ điển Python vào tệp CSV? Để ghi từ điển Python vào tệp CSV, bạn có thể sử dụng thư viện csv và csv. lớp DictWriter(). Bằng cách chuyển một tệp vào lớp, bạn tạo một đối tượng cho phép bạn viết các hàng đơn và nhiều hàng từ từ điển Python hoặc danh sách từ điển Điều khác biệt giữa cách tiếp cận này và lớp 8 là lớp giả định rằng chúng tôi cung cấp tên trường của tệp CSV. Chúng ta hãy xem một triển khai cơ bản của lớp 00Điều quan trọng cần lưu ý là việc khởi tạo sẽ thất bại nếu chúng tôi không cung cấp đối số 10. Python sẽ đưa ra một 11 và hướng dẫn bạn chuyển vào một đối số 12Hãy đi sâu vào cách chúng ta có thể sử dụng lớp 9 để ghi các hàng đơn và nhiều hàng vào tệp CSVCách viết một hàng vào tệp CSV từ từ điển PythonĐể ghi một từ điển vào tệp CSV bằng Python, bạn có thể sử dụng lớp 9. Không giống như lớp 8 mà chúng tôi đã sử dụng để ghi danh sách vào tệp CSV, lớp 9 yêu cầu chúng tôi chuyển vào tên trườngTại sao vậy? . Tương tự, từ điển Python không cho phép bạn truy cập các mục theo vị trí của chúng (không giống như danh sách). Vì điều này, chúng ta cần tìm cách cho Python biết thứ tự chèn các giá trị Hãy xem cách chúng ta có thể ghi từ điển vào tệp CSV bằng phương pháp 3 01Để ghi từ điển vào tệp CSV bằng Python, hãy làm theo các bước bên dưới
Điều này trả về tệp CSV sau 02Trong phần sau, bạn sẽ tìm hiểu cách ghi trực tiếp nhiều từ điển vào một tệp CSV Cách ghi nhiều hàng vào tệp CSV từ từ điển PythonĐể ghi nhiều từ điển vào tệp CSV bằng Python, bạn có thể sử dụng phương thức 4 của lớp 9. Điều này cho phép bạn chuyển vào một danh sách các từ điển PythonCó thể làm điều này có thể cực kỳ hữu ích khi làm việc với dữ liệu JSON. Python cung cấp một số cách để chuyển đổi tệp JSON sang CSV Hãy xem cách chúng ta có thể ghi danh sách từ điển vào tệp CSV 03Trong ví dụ này, chúng tôi đã sử dụng phương pháp 4 để ghi danh sách từ điển vào tệp CSV. Điều này cho phép bạn thêm bao nhiêu dữ liệu tùy thích mà không cần gọi phương thức 3 cho mỗi từ điểnĐiều này trả về tệp CSV sau 04Trong phần sau, bạn sẽ tìm hiểu cách thêm hàng tiêu đề vào tệp CSV từ danh sách từ điển Cách thêm tiêu đề vào tệp CSV từ từ điển PythonThật dễ dàng để thêm hàng tiêu đề vào tệp CSV được tạo bằng từ điển Python. Bởi vì chúng tôi đã chuyển vào tên trường khi chúng tôi tạo đối tượng nhà văn của mình, chúng tôi chỉ cần sử dụng thông tin này để tạo tiêu đề Trên thực tế, lớp 9 có một phương thức chỉ dành cho mục đích này. 47. Hãy xem cách chúng tôi có thể viết hàng tiêu đề cho tệp CSV của mình 05Khối mã ở trên không thay đổi so với ví dụ trước ngoại trừ việc thêm hàng cuối cùng thứ hai. Bằng cách gọi phương thức 47, Python thêm một hàng tiêu đề. Nó sử dụng các giá trị được chuyển vào tham số 10 để tạo tiêu đề của chúng tôiĐiều này trả về tệp CSV sau 06Chúng tôi có thể thấy rằng Python đã có thể tạo thành công tệp CSV từ danh sách từ điển của chúng tôi, bao gồm cả việc chèn hàng tiêu đề Cách nối từ điển vào tệp CSV bằng PythonVới mỗi phần trước của hướng dẫn, tệp mà bạn đã ghi vào đã bị ghi đè. Đây là điều quan trọng cần lưu ý – ngay cả khi tệp tồn tại, tất cả dữ liệu sẽ bị ghi đè Nếu chúng tôi muốn nối danh sách vào tệp CSV bằng Python, chúng tôi chỉ cần sửa đổi chế độ mà Python mở tệp. Cho đến nay, chúng tôi đã sử dụng chế độ ghi của 7. Bằng cách sửa đổi chế độ để nối thêm, sử dụng 05, chúng tôi có thể nối thêm vào tệp CSV của mình, thay vì ghi đè lên nóHãy xem nó trông như thế nào trong Python 07Khi chúng tôi sử dụng tệp CSV đã tạo trước đó, tệp này sẽ trả về tệp CSV sau 8Trong các phần tiếp theo của hướng dẫn này, bạn sẽ tìm hiểu cách tùy chỉnh tệp CSV thu được bằng cách sử dụng các thuộc tính đặc biệt, chẳng hạn như dấu phân cách tùy chỉnh và ký tự được trích dẫn Tùy chọn bổ sung trong Lớp CSV DictWriterLớp 9 cung cấp một số tùy chọn khác nhau để tùy chỉnh cách ghi từ điển vào tệp CSV. Đặc biệt, lớp cung cấp thêm hai tham số
Cách sử dụng Dấu phân cách tùy chỉnh khi ghi vào CSV bằng PythonChúng tôi có thể tùy chỉnh dấu phân cách được sử dụng để phân chia các cột trong tệp CSV. Tham số 78 có sẵn cho cả lớp 8 và lớp 9. Chúng ta có thể chuyển vào một chuỗi đại diện cho dấu phân cách mà chúng ta muốn sử dụngHãy xem cách chúng ta có thể tùy chỉnh dấu phân cách khi sử dụng Python để ghi danh sách hoặc từ điển vào tệp CSV 09Trong đoạn mã trên, chúng tôi đã chuyển toán tử đường ống vào đối số 81. Hãy nhớ rằng điều này cũng áp dụng cho lớp 8. Điều này trả về CSV sau 0Trong phần sau, bạn sẽ tìm hiểu cách tạo và sử dụng các phương ngữ cho phép bạn dễ dàng tùy chỉnh cách ghi tệp CSV Cách sử dụng phương ngữ khi ghi vào CSV bằng PythonCác phương ngữ trong mô-đun CSV cho phép bạn đặt tiêu chí tùy chỉnh để dễ dàng ghi và đọc các tệp theo cùng một kiểu. Mặc dù cho đến nay, chúng tôi chỉ đề cập đến các dấu phân cách tùy chỉnh, nhưng thư viện CSV cung cấp tính linh hoạt đáng kể để tùy chỉnh các tệp CSV. Do đó, các phương ngữ cho phép bạn đặt các kiểu định sẵn có thể được sử dụng để đọc và ghi các tệp CSV bằng Python Hãy xem cách chúng ta có thể tạo một phương ngữ và sử dụng nó khi ghi tệp CSV 1Trong ví dụ trên, chúng tôi đã tạo một phương ngữ bằng hàm 83. Hàm này cho phép bạn nhập tên bằng chuỗi. Sau đó, nó có thể phân lớp các phương ngữ hiện có hoặc thêm định dạng tùy chỉnh như chúng tôi đã thực hiệnĐiều này cho phép bạn dễ dàng sử dụng lại phương ngữ khi bạn đang viết các tệp khác hoặc thậm chí đọc các tệp CSV. Bởi vì chức năng không bị ràng buộc với một lớp nhà văn cụ thể, nên nó hoạt động với cả lớp 8 và lớp 9Cách xử lý các trích dẫn khi ghi vào CSV bằng PythonTheo mặc định, Python sẽ bọc các mục riêng lẻ trong dấu ngoặc kép để đảm bảo rằng các mục được phân tách chính xác. Hãy tưởng tượng trường hợp bạn liệt kê các mục có dấu phẩy trong đó, Python cần một cách để đảm bảo rằng các mục được phân tách phù hợp Tương tự, khi chúng ta viết các mục có dấu ngoặc kép trong đó, mô-đun csv sẽ thoát khỏi dấu ngoặc kép bằng cách thêm dấu ngoặc kép. Hãy xem nó trông như thế nào 2Điều này trả về tệp CSV sau 3Chúng ta có thể thấy rằng bản thân ký tự chứa 86 được thoát bằng cách sử dụng dấu ngoặc képCó hai cách để tùy chỉnh hành vi này
Hãy xem cách chúng tôi có thể tắt chức năng trích dẫn kép và sử dụng ký tự thoát tùy chỉnh 4Điều này trả về tệp CSV sau 5Trong phần sau, bạn sẽ tìm hiểu cách ghi các ký tự không phải ASCII vào tệp CSV bằng Python Cách viết mã hóa UTF-8 vào CSV bằng PythonĐể ghi tệp CSV được mã hóa bằng UTF-8, bạn chỉ cần khai báo mã hóa khi mở tệp. Vì thao tác này được thực hiện trước khi tạo đối tượng người ghi, quá trình này giống với quá trình tạo tệp CSV dựa trên danh sách hoặc từ điển Hãy xem cách chúng ta có thể làm điều này trong Python 6Trong ví dụ trên, chúng tôi đã sử dụng mã giống như trong các ví dụ trước. Tuy nhiên, khi chúng tôi mở tệp, chúng tôi đã chuyển sang 005, điều này đảm bảo rằng tệp được mở (hoặc trong trường hợp này là được tạo) với mã hóa chính xácPhần kết luậnTrong hướng dẫn này, bạn đã học cách sử dụng Python để ghi vào tệp CSV bằng cả danh sách và từ điển. Mô-đun Python 7 cung cấp tính linh hoạt đáng kể về mặt ghi vào tệp CSV. Bằng cách cung cấp các đối tượng người viết cho cả danh sách và từ điển, mô-đun cho phép bạn tùy chỉnh đầu ra của tệp CSV của mìnhTrước tiên, bạn đã học cách viết danh sách vào tệp CSV, bao gồm viết một hàng, nhiều hàng và thêm tiêu đề. Sau đó, bạn đã đề cập đến các chủ đề tương tự với từ điển Python, cũng như làm việc với các tùy chọn bổ sung mà lớp 007 cung cấp. Cuối cùng, bạn đã học cách tùy chỉnh hành vi bằng cách khám phá các tùy chọn khác nhau như sửa đổi mã hóa, thay đổi dấu phân cách và trích dẫn kép, cũng như tạo phương ngữ để có thể sử dụng lại dễ dàng hơn
Làm cách nào để viết danh sách từ điển vào tệp CSV bằng Python?Phương pháp 1. sử dụng csv. Để 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. writerow() . Phương pháp này viết một hàng tại một thời điểm.
Làm cách nào để chuyển đổi từ điển Python sang csv?Sử dụng mô-đun csv từ thư viện chuẩn của Python . Cách dễ nhất là mở tệp csv ở chế độ 'w' với sự trợ giúp của hàm open() và ghi cặp giá trị khóa ở dạng được phân tách bằng dấu phẩy. Mô-đun csv chứa phương thức DictWriter yêu cầu tên của tệp csv để ghi và đối tượng danh sách chứa tên trường.
Làm thế nào để viết từ điển vào csv?Để nối thêm từ điển vào CSV hiện có, bạn có thể mở đối tượng tệp ở chế độ nối thêm bằng cách sử dụng open('my_file. csv', 'a', newline='') và sử dụng csv. DictWriter() để nối thêm hàng dict bằng DictWriter. writerow(my_dict) .
Bạn có thể tạo danh sách từ điển bằng Python không?Ngoài ra, từ điển là một đối tượng Python lưu trữ dữ liệu trong khóa. định dạng giá trị. Vì vậy, chúng ta có thể tạo một danh sách python, với các phần tử của nó là từ điển Python. Cuối cùng, chúng ta có thể gọi đó là Danh sách từ điển trong Python |