Hướng dẫn text to csv python - văn bản tới csv python

Hướng dẫn cách xử lý file CSV trong python. Bạn sẽ học được cách ghi file csv trong python bằng cách dùng list với hàm csv.writer hay dùng dictionary bằng class csv.DictWriter . Bạn cũng sẽ học được cách ghi file csv trong python với các trường hợp đặc biệt như ghi chèn file CSV, ghi file CSV chứa dấu ngoặc kép, chứa header v.v.. sau bài học này.xử lý file CSV trong python. Bạn sẽ học được cách ghi file csv trong python bằng cách dùng list với hàm csv.writer hay dùng dictionary bằng class csv.DictWriter . Bạn cũng sẽ học được cách ghi file csv trong python với các trường hợp đặc biệt như ghi chèn file CSV, ghi file CSV chứa dấu ngoặc kép, chứa header v.v.. sau bài học này.

Ghi file csv trong python | csv.writer

Ghi list vào file csv trong python

Để ghi list vào file csv trong python, trước hết chúng ta cần mở file đó bằng hàm open[] hoặc câu lệnh with với mode w, sau đó tiến hành ghi file csv đã mở bằng hàm csv.writer[] như sau:csv.writer[] như sau:

with open['./user/user.csv','w'] as f:
writer = csv.writer[f]
writer.writerow[[0, 1, 2]]
writer.writerow[['a', 'b', 'c']]

Lưu ý là do chúng ta mở file với mode w nên nếu file CSV đã tồn tại trước đó thì nội dung cũ sẽ bị xóa đi, và chúng ta sẽ ghi đè nội dung mới vào file CSV.

Sau khi mở file bằng hàm open[], chúng ta thu về một file object và gán nó vào biến

with open['./user/user.csv','w'] as f:
print[f.read[]]


6. Sau đó chúng ta chỉ định
with open['./user/user.csv','w'] as f:
print[f.read[]]


6 làm đối số của hàm csv.writer[], kết quả là một writer object có khả năng ghi nội dung được tạo ra.csv.writer[], kết quả là một writer object có khả năng ghi nội dung được tạo ra.

Sau khi tạo xong writer object này, chúng ta có thể sử dụng các phương thức như writerow[] mà chúng ta đã dùng trong ví dụ trên với writer object để ghi nội dung từ một list vào file csv trong python.

Ở ví dụ trên, chúng ta đã ghi hai dòng nội dung vào file csv. Hãy kiểm tra nội dung đã ghi bằng lệnh sau:

with open['./user/user.csv','w'] as f:
print[f.read[]]


Nếu chúng ta chỉ định đối số của phương thức writerow[] ở trên là một list đa chiều, thì từng list trong list đa chiều sẽ được ghi vào file csv như là một hàng vậy.

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



Ghi chèn file csv trong python | mode a

Để ghi chèn nội dung vào một file csv đã tồn tại trước đó, chúng ta mở file csv bằng hàm open[] với mode a. Về cách ghi file csv thì cũng giống như phần trên, chúng ta cũng dùng hàm csv.write và các phương thức như writerow[] hoặc writerows[] để ghi file csv trong python.

with open['./user/user.csv', 'a'] as f:
writer = csv.writer[f]
writer.writerow[['X', 'Y', 'Z']]

with open['./user/user.csv'] as f:
print[f.read[]]



Chỉ định dấu phân cách delimiter khi ghi file csv

Về mặc định trong file csv, dấu phân cách sẽ là dấu phẩy

with open['./user/user.csv','w'] as f:
print[f.read[]]


8. Tuy nhiên nếu bạn muốn thay đổi dấu phân cách trong file csv đang ghi, hãy chỉ định đối số delimiter trong hàm csv.writer.

Ví dụ, chúng ta chỉ định ký tự phân cách là ký tự tab

with open['./user/user.csv','w'] as f:
print[f.read[]]


9 như sau:

with open['./user/user.tsv', 'w'] as f:
writer = csv.writer[f, delimiter='\t']
writer.writerows[l]

with open['./user/user.tsv'] as f:
print[f.read[]]



Trong trường hợp bạn muốn thay thể ký tự phân cách bằng ký tự trắng, chỉ cần chỉ định

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



0 là xong.

Xử lý dấu ngoặc kép khi ghi file csv trong python

Về mặc định khi ghi file csv thì các chuỗi ký tự chứa trong nó ký tự phân cách, ví dụ như là dấu phẩy

with open['./user/user.csv','w'] as f:
print[f.read[]]


8 trong chuỗi
l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



2 chẳng hạn sẽ được ghi vào file csv kèm với dấu ngoặc kép như sau:

l = [[0, 1, 2], ['a,b,c', 'x', 'y']]

with open['./user/user_quote.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user_quote.csv'] as f:
print[f.read[]]


Trong trường hợp bạn muốn thêm dấu ngoặc kép vào tất cả các chuỗi ký tự ghi vào file csv trong python, hãy chỉ định đối số

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



3 trong hàm csv.writer như sau:

with open['./user/user_quote_all.csv', 'w'] as f:
writer = csv.writer[f, quoting=csv.QUOTE_ALL]
writer.writerows[l]

with open['./user/user_quote_all.csv'] as f:
print[f.read[]]


Ngoài ra, bạn cũng có thể chỉ định

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



4 để thêm dấu ngoặc kép vào tất cả các chuỗi không phải là chữ số như sau:không phải là chữ số như sau:

with open['./user/user_quote_nonnumeric.csv', 'w'] as f:
writer = csv.writer[f, quoting=csv.QUOTE_NONNUMERIC]
writer.writerows[l]

with open['./user/user_quote_nonnumeric.csv'] as f:
print[f.read[]]


Nếu chỉ định

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



5 thì tất cả các chuỗi ký tự sẽ không được thêm dấu ngoặc kép khi ghi vào file csv. Tuy nhiên chúng ta cần chỉ định thêm giá trị escapechar để xử lý dấu phân cách chứa trong chuỗi ký tự đó nếu có.

with open['./user/user_quote_none.csv', 'w'] as f:
writer = csv.writer[f, quoting=csv.QUOTE_NONE, escapechar='\\']
writer.writerows[l]

with open['./user/user_quote_none.csv'] as f:
print[f.read[]]


Cuối cùng, về mặc định thì dấu ngoặc kép được dùng, tuy nhiên chúng ta cũng có thể thay đổi thành dấu khác bằng cách chỉ định

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



6 như sau:

with open['./user/user_quote_char.csv', 'w'] as f:
writer = csv.writer[f, quotechar="'"]
writer.writerows[l]

with open['./user/user_quote_char.csv'] as f:
print[f.read[]]


Ghi file csv kèm ký tự xuống dòng

Trong một số trường hợp, chúng ta cần ghi chuỗi ký tự tồn tại cả ký tự xuống dòng vào file csv, chẳng hạn như chuỗi

l = [[11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]]
print[l]


with open['./user/user.csv', 'w'] as f:
writer = csv.writer[f]
writer.writerows[l]

with open['./user/user.csv'] as f:
print[f.read[]]



7 trong file csv sau đây:
Creativecommons và DMCABài viết liên quanĐọc file excel trong pythonĐọc file csv trong pythonGhi dữ liệu vào file Excel trong PythonGhi log trong python bằng file CSVBiến trong python là gìNhập biến trong pythonGán biến trong pythonCách khai báo, khởi tạo và gán biến trong pythonHãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>17. csv excel json xml pdfBài sauGhi log trong python bằng file CSVBài tiếpĐọc file excel trong pythonBài viết mới nhấtTách chuỗi trong PHP [explode, preg_split] tháng 9 17, 2022Cắt chuỗi trong PHP [substr, mb_substr] tháng 9 17, 2022Tách chuỗi thành mảng trong PHP [explode] tháng 9 17, 2022Tìm kiếm chuỗi trong PHP [strpos] tháng 9 17, 2022Đếm số lần xuất hiện của ký tự và chuỗi trong chuỗi PHP [substr_count] tháng 9 17, 2022Chuyển chuỗi thành mảng trong PHP [str_split, mb_str_split] tháng 9 17, 2022Tách từng ký tự trong chuỗi PHP [substr, preg_split] tháng 9 17, 2022Xóa ký tự trong chuỗi PHP tháng 9 15, 2022ProfileTác giả : Kiyoshi [Chis Thanh]Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Bài Viết Liên Quan

Chủ Đề