Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

Tôi đang cố gắng tạo tệp .csv với các giá trị từ danh sách Python. Khi tôi in các giá trị trong danh sách, tất cả đều là Unicode (?), Tức là chúng trông giống như thế này

[u'value 1', u'value 2', ...]

Nếu tôi lặp lại thông qua các giá trị trong danh sách, tức là

"value 1", "value 2", ... 
3 chúng dường như là văn bản đơn giản.

Và tôi có thể đặt một

"value 1", "value 2", ... 
4 giữa mỗi cái với
"value 1", "value 2", ... 
5

Và tôi có thể xuất vào một tập tin, tức là

myfile = open(...)
print >>myfile, ','.join(mylist)

Nhưng tôi muốn xuất vào CSV và có các trình phân cách xung quanh các giá trị trong danh sách, ví dụ:

"value 1", "value 2", ... 

Tôi không thể tìm thấy một cách dễ dàng để bao gồm các dấu phân cách theo định dạng, ví dụ: Tôi đã thử thông qua tuyên bố

"value 1", "value 2", ... 
6. Tôi có thể làm cái này như thế nào?

Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

hỏi ngày 18 tháng 1 năm 2010 lúc 5:34Jan 18, 2010 at 5:34

4

import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)

Chỉnh sửa: Điều này chỉ hoạt động với Python 2.x.

Để làm cho nó hoạt động với Python 3.x Thay thế

"value 1", "value 2", ... 
7 bằng
"value 1", "value 2", ... 
8 (xem câu trả lời này)

with open(..., 'w', newline='') as myfile:
     wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
     wr.writerow(mylist)

Đã trả lời ngày 18 tháng 1 năm 2010 lúc 5:53Jan 18, 2010 at 5:53

Alex Martellialex MartelliAlex Martelli

829K164 Huy hiệu vàng1205 Huy hiệu bạc1384 Huy hiệu đồng164 gold badges1205 silver badges1384 bronze badges

9

Dưới đây là phiên bản an toàn của Alex Martelli:

import csv

with open('filename', 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)

Đã trả lời ngày 19 tháng 2 năm 2014 lúc 5:48Feb 19, 2014 at 5:48

Cristian Garciacristian GarciaCristian Garcia

9.5005 huy hiệu vàng52 Huy hiệu bạc74 Huy hiệu đồng5 gold badges52 silver badges74 bronze badges

5

Đối với một cách tiếp cận khác, bạn có thể sử dụng DataFrame trong Pandas: và nó có thể dễ dàng đổ dữ liệu vào CSV giống như mã bên dưới:

import pandas
df = pandas.DataFrame(data={"col1": list_1, "col2": list_2})
df.to_csv("./file.csv", sep=',',index=False)

Đã trả lời ngày 5 tháng 7 năm 2017 lúc 8:09Jul 5, 2017 at 8:09

Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

Qy Zuoqy ZuoQy Zuo

2.44422 Huy hiệu bạc21 Huy hiệu đồng22 silver badges21 bronze badges

2

Tùy chọn tốt nhất tôi tìm thấy là sử dụng

"value 1", "value 2", ... 
9 từ mô -đun
import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
0:

import numpy as np
np.savetxt("file_name.csv", data1, delimiter=",", fmt='%s', header=header)

Trong trường hợp bạn có nhiều danh sách cần được xếp chồng lên nhau

np.savetxt("file_name.csv", np.column_stack((data1, data2)), delimiter=",", fmt='%s', header=header)

Đã trả lời ngày 13 tháng 5 năm 2015 lúc 15:30May 13, 2015 at 15:30

2

Sử dụng mô-đun

import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
1 của Python để đọc và viết các tệp được phân phối bằng dấu phẩy hoặc tab. Mô -đun CSV được ưa thích vì nó cho phép bạn kiểm soát tốt việc trích dẫn.

Ví dụ, đây là ví dụ đã làm việc cho bạn:

import csv
data = ["value %d" % i for i in range(1,4)]

out = csv.writer(open("myfile.csv","w"), delimiter=',',quoting=csv.QUOTE_ALL)
out.writerow(data)

Produces:

myfile = open(...)
print >>myfile, ','.join(mylist)
0

Đã trả lời ngày 18 tháng 1 năm 2010 lúc 5:53Jan 18, 2010 at 5:53

vy32vy32vy32

Alex Martellialex Martelli35 gold badges112 silver badges225 bronze badges

2

829K164 Huy hiệu vàng1205 Huy hiệu bạc1384 Huy hiệu đồng

Dưới đây là phiên bản an toàn của Alex Martelli:

Đã trả lời ngày 19 tháng 2 năm 2014 lúc 5:48

myfile = open(...)
print >>myfile, ','.join(mylist)
1

Cristian Garciacristian GarciaApr 18, 2018 at 11:58

rsc05rsc05rsc05

9.5005 huy hiệu vàng52 Huy hiệu bạc74 Huy hiệu đồng2 gold badges32 silver badges53 bronze badges

Đối với một cách tiếp cận khác, bạn có thể sử dụng DataFrame trong Pandas: và nó có thể dễ dàng đổ dữ liệu vào CSV giống như mã bên dưới:

Đã trả lời ngày 5 tháng 7 năm 2017 lúc 8:09

myfile = open(...)
print >>myfile, ','.join(mylist)
2

Qy Zuoqy Zuo

myfile = open(...)
print >>myfile, ','.join(mylist)
3

2.44422 Huy hiệu bạc21 Huy hiệu đồng

Tùy chọn tốt nhất tôi tìm thấy là sử dụng

"value 1", "value 2", ... 
9 từ mô -đun
import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
0:

Trong trường hợp bạn có nhiều danh sách cần được xếp chồng lên nhauJan 18, 2010 at 5:38

Đã trả lời ngày 13 tháng 5 năm 2015 lúc 15:30Robert Christie

Sử dụng mô-đun

import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
1 của Python để đọc và viết các tệp được phân phối bằng dấu phẩy hoặc tab. Mô -đun CSV được ưa thích vì nó cho phép bạn kiểm soát tốt việc trích dẫn.8 gold badges42 silver badges37 bronze badges

Ví dụ, đây là ví dụ đã làm việc cho bạn:

myfile = open(...)
print >>myfile, ','.join(mylist)
4

27.2K35 Huy hiệu vàng112 Huy hiệu bạc225 Huy hiệu Đồng

Notebook JupyterSep 26, 2018 at 10:12

Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

Hãy nói rằng tên danh sách của bạn là

import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
2Storm

Sau đó, bạn có thể mã hóa như sau và bạn sẽ có nó dưới dạng tệp CSV (chỉ các cột!)5 silver badges13 bronze badges

3

Đã trả lời ngày 18 tháng 4 năm 2018 lúc 11:58Python 3.x with options to define your own delimiter and quote char.

myfile = open(...)
print >>myfile, ','.join(mylist)
5

3.2812 Huy hiệu vàng32 Huy hiệu bạc53 Huy hiệu Đồng

myfile = open(...)
print >>myfile, ','.join(mylist)
0

NOTE:

Bạn có thể sử dụng phương thức chuỗi.join trong trường hợp này.

Chia một vài dòng cho rõ ràng - đây là phiên tương tác

Hoặc như một dòng duy nhất

Tuy nhiên, bạn có thể có một vấn đề là chuỗi của bạn đã được trích dẫn nhúng. Nếu đây là trường hợp bạn sẽ cần quyết định cách thoát khỏi chúng.

Mô -đun CSV có thể chăm sóc tất cả các điều này cho bạn, cho phép bạn chọn giữa các tùy chọn trích dẫn khác nhau (tất cả các trường, chỉ các trường có trích dẫn và trình phân tách trốn thoát). Nếu giá trị của bạn đơn giản, String.Join có thể sẽ ổn nhưng nếu bạn phải quản lý nhiều trường hợp cạnh, hãy sử dụng mô -đun có sẵn.Aug 12, 2020 at 7:24

Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

Đã trả lời ngày 18 tháng 1 năm 2010 lúc 5:38Hrvoje

Robert Christierobert Christie6 gold badges74 silver badges89 bronze badges

Huy hiệu vàng 19.7k8

Giải pháp này nghe có vẻ điên rồ, nhưng hoạt động mượt mà như mật ongimport csv, then need to create an instance of the file with file reference Ex:- with open("D:\sample.csv","w",newline="") as file_writer

Tệp đang được viết bởi csvwriter do đó các thuộc tính CSV được duy trì, tức là dấu phẩy được phân tách. DELIMITER giúp trong phần chính bằng cách di chuyển các mục danh sách sang dòng tiếp theo, mỗi lần.fields=["Names","Age","Class"], then apply to writer instance like writer=csv.DictWriter(file_writer,fieldnames=fields) here using Dictionary writer and assigning column names, to write column names to csv we use writer.writeheader() and to write values we use writer.writerow({"Names":"John","Age":20,"Class":"12A"}) ,while writing file values must be passed using dictionary method , here the key is column name and value is your respective key value

myfile = open(...)
print >>myfile, ','.join(mylist)
7

Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

Prosoitos

6.2595 huy hiệu vàng28 Huy hiệu bạc41 Huy hiệu đồng5 gold badges28 silver badges41 bronze badges

Đã trả lời ngày 29 tháng 10 năm 2019 lúc 2:36Oct 29, 2019 at 2:36

Hướng dẫn python create csv file from list - python tạo tệp csv từ danh sách

Đối với những người tìm kiếm giải pháp ít phức tạp hơn. Tôi thực sự tìm thấy một giải pháp đơn giản hơn sẽ làm công việc tương tự:

myfile = open(...)
print >>myfile, ','.join(mylist)
8

Hy vọng điều này cũng giúp.

Đã trả lời ngày 23 tháng 9 năm 2020 lúc 10:42Sep 23, 2020 at 10:42

Smerllosmerllosmerllo

2.9571 Huy hiệu vàng20 Huy hiệu bạc37 Huy hiệu đồng1 gold badge20 silver badges37 bronze badges

Bạn nên sử dụng mô -đun CSV chắc chắn, nhưng rất có thể, bạn cần phải viết Unicode. Đối với những người cần viết Unicode, đây là lớp từ trang ví dụ, mà bạn có thể sử dụng làm mô -đun UTIL:

myfile = open(...)
print >>myfile, ','.join(mylist)
9

Đã trả lời ngày 19 tháng 1 năm 2015 lúc 13:41Jan 19, 2015 at 13:41

KommradhomerkommradhomerkommradHomer

4.0414 Huy hiệu vàng51 Huy hiệu bạc67 Huy hiệu Đồng4 gold badges51 silver badges67 bronze badges

Dưới đây là một giải pháp khác không yêu cầu mô -đun

import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
1.

"value 1", "value 2", ... 
0

Thí dụ :

"value 1", "value 2", ... 
1

Tuy nhiên, nếu danh sách ban đầu chứa một số ", chúng sẽ không được thoát ra. Nếu được yêu cầu, có thể gọi một chức năng để thoát khỏi nó như thế:

"value 1", "value 2", ... 
2

Đã trả lời ngày 13 tháng 4 năm 2016 lúc 6:06Apr 13, 2016 at 6:06

RichardrichardRichard

9221 Huy hiệu vàng9 Huy hiệu bạc27 Huy hiệu đồng1 gold badge9 silver badges27 bronze badges

Làm cách nào để tạo tệp CSV từ danh sách trong Python?

Python viết tệp CSV..
Đầu tiên, hãy mở tệp CSV để ghi (chế độ W) bằng cách sử dụng hàm Open () ..
Thứ hai, tạo đối tượng người viết CSV bằng cách gọi hàm writer () của mô -đun CSV ..
Thứ ba, ghi dữ liệu vào tệp CSV bằng cách gọi phương thức Writerow () hoặc Writerows () của đối tượng người viết CSV ..

Làm cách nào để lưu danh sách gấu trúc vào tệp CSV?

Pandas: Nhập thư viện gấu trúc, tạo gấu trúc DataFrame và ghi DataFrame vào một tệp bằng phương thức DataFrame DataFrame.TO_CSV ('File.csv').Numpy: Nhập thư viện Numpy, tạo một mảng numpy và viết đầu ra vào tệp CSV bằng cách sử dụng Numpy.Import the pandas library, create a Pandas DataFrame, and write the DataFrame to a file using the DataFrame method DataFrame. to_csv('file. csv') . NumPy: Import the NumPy library, create a NumPy array, and write the output to a CSV file using the numpy.

Làm cách nào để lưu danh sách Python vào một tệp?

Các bước dưới đây cho thấy cách lưu dòng danh sách Python từng dòng vào một tệp văn bản ...
Mở tệp ở chế độ ghi.Vượt qua đường dẫn tệp và chế độ truy cập W đến hàm Open ().....
Lặp lại danh sách bằng cách sử dụng một vòng lặp.Sử dụng cho vòng lặp để lặp từng mục từ một danh sách.....
Viết mục hiện tại vào tệp.....
Đóng tệp sau khi hoàn thành thao tác ghi ..