2013-10-24 15 views
6

Tôi có một danh sách liệt kê và tôi muốn viết nó trong tập tin csv danh sách Ví dụ:Làm thế nào để viết Danh sách liệt kê trong tập tin csv trong python

data=[['serial', 'name', 'subject'],['1', 'atul','tpa'],['2', 'carl','CN'].......] 

dữ liệu [0] nên tên cột tất cả mọi thứ khác là dữ liệu hàng khôn ngoan

Vui lòng đề xuất cho tôi cách để thực hiện việc này.

+1

Bạn đã thử mọi thứ chưa? Bạn gặp phải vấn đề gì? –

+0

actully Tôi có nhiều trang tính trong tệp excel và tôi đã phân tích cú pháp tất cả các trang tính và tạo danh sách các danh sách. Vì vậy, khi tôi viết nó vào tập tin csv với giải pháp của bạn nó dán tên cột cho mỗi và mọi tờ – Akshay

+0

'csv' chỉ là viết ra những gì bạn cung cấp cho nó. Bỏ qua mục nhập đầu tiên của mỗi trang tính nhưng đầu tiên nếu bạn thấy tên cột trùng lặp. –

Trả lời

10

Đây là tầm thường với csv module:

with open('output.csv', 'w', newline='') as csvfile: 
    writer = csv.writer(csvfile) 
    writer.writerows(data) 

Bạn đã có tiêu đề trong data như dòng đầu tiên; bạn có thể viết tất cả các hàng trong một lần với phương thức writer.writerows(). Đó là tất cả để có nó, thực sự.

+0

Như seedubbs trong câu trả lời của họ đề cập đến, "TypeError: 'newline' là một đối số từ khóa không hợp lệ cho chức năng này". – samkhan13

+1

@ samkhan13: bạn và họ đang sử dụng Python 2, không phải Python 3 (lưu ý các thẻ câu hỏi). Sử dụng 'mở ('output.csv', 'wb')' thay vào đó (vì vậy hãy sử dụng chế độ nhị phân để mô đun CSV có thể kiểm soát những dòng mới được viết). –

+0

cảm ơn bạn đã làm rõ – samkhan13

2

Tôi nhận được lỗi sau khi tôi bao gồm newline = '': TypeError: 'newline' là một đối số từ khóa không hợp lệ cho hàm này.

Đây là những gì tôi đã sử dụng và làm việc tốt cho tôi.

csv_file = open("your_csv_file.csv", "wb") 
writer = csv.writer(csv_file) 
writer.writerows(clean_list) 
+0

Đó là vì bạn đang sử dụng * Python 2 *, không phải Python 3, như được gắn thẻ trên câu hỏi. –

Các vấn đề liên quan