Hướng dẫn python not writing to csv - python không ghi vào csv

Python Newbie hơi thất vọng với mô -đun CSV. Với tốc độ này, sẽ dễ dàng hơn nếu tôi tự viết trình phân tích cú pháp tập tin, nhưng tôi muốn làm mọi thứ theo cách Pythonic ....

Tôi đã viết một tập lệnh Python nhỏ sẽ lưu dữ liệu của tôi vào tệp CSV.

Đây là một đoạn mã của tôi:

import csv

wrtr = csv.writer[open['myfile.csv','wb'],delimiter=',', quotechar='"']

for row in rows:
    wrtr.writerow[[row.field1,row.field2,row.field3]]

Tệp myfile.csv được tạo thành công, nhưng nó trống - nhưng có khóa trên đó, vì nó vẫn đang được sử dụng bởi quy trình Python. Có vẻ như dữ liệu đã được ghi vào tệp trong bộ nhớ, nhưng nó vẫn chưa được chuyển vào đĩa.

Vì quy trình Python đang giữ một khóa trên tệp, thì tôi cho rằng tôi chịu trách nhiệm phát hành khóa. Đây là những câu hỏi của tôi:

  1. Làm thế nào để tôi có được Python để xả vào đĩa
  2. Làm cách nào để đóng tệp được mở trong phương thức csv.Writer []?

Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách ghi dữ liệu vào tệp CSV bằng mô-đun csv tích hợp.: in this tutorial, you’ll learn how to write data into a CSV file using the built-in csv module.

Các bước để viết tệp CSV

Để ghi dữ liệu vào tệp CSV, bạn làm theo các bước sau:

  • Đầu tiên, hãy mở tệp CSV để viết [chế độ w] bằng cách sử dụng hàm

    import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

    Code language: Python [python]
    0.
  • Thứ hai, tạo đối tượng người viết CSV bằng cách gọi hàm

    import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

    Code language: Python [python]
    1 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

    import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

    Code language: Python [python]
    3 hoặc

    import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

    Code language: Python [python]
    4 của đối tượng người viết CSV.
  • Cuối cùng, đóng tệp sau khi bạn hoàn thành việc viết dữ liệu cho nó.

Mã sau đây minh họa các bước trên:

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]

Nó sẽ ngắn hơn nếu bạn sử dụng câu lệnh

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
5 để bạn không cần gọi phương thức

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
6 để đóng tệp một cách rõ ràng:

import csv # open the file in the write mode with open['path/to/csv_file', 'w'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

Code language: PHP [php]

Nếu bạn xử lý các ký tự không phải ASCII, bạn cần chỉ định mã hóa ký tự trong hàm ____10.

Sau đây minh họa cách viết các ký tự UTF-8 vào tệp CSV:

import csv # open the file in the write mode with open['path/to/csv_file', 'w', encoding='UTF8'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

Code language: PHP [php]

Viết vào ví dụ về tệp CSV

Ví dụ sau đây cho thấy cách ghi dữ liệu vào tệp CSV:

import csv header = ['name', 'area', 'country_code2', 'country_code3'] data = ['Afghanistan', 652090, 'AF', 'AFG'] with open['countries.csv', 'w', encoding='UTF8'] as f: writer = csv.writer[f] # write the header writer.writerow[header] # write the data writer.writerow[data]

Code language: PHP [php]

Nếu bạn mở

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
8, bạn sẽ thấy một vấn đề rằng nội dung tệp có thêm dòng trống giữa hai hàng tiếp theo:

Để xóa dòng trống, bạn chuyển đối số từ khóa

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
9 cho hàm

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
0 như sau:

import csv header = ['name', 'area', 'country_code2', 'country_code3'] data = ['Afghanistan', 652090, 'AF', 'AFG'] with open['countries.csv', 'w', encoding='UTF8', newline=''] as f: writer = csv.writer[f] # write the header writer.writerow[header] # write the data writer.writerow[data]

Code language: PHP [php]

Output:

Viết nhiều hàng vào các tệp CSV

Để ghi nhiều hàng vào tệp CSV cùng một lúc, bạn sử dụng phương thức

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
4 của đối tượng người viết CSV.

Sau đây sử dụng phương thức

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
4 để ghi nhiều hàng vào tệp

import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

Code language: Python [python]
8:

import csv header = ['name', 'area', 'country_code2', 'country_code3'] data = [ ['Albania', 28748, 'AL', 'ALB'], ['Algeria', 2381741, 'DZ', 'DZA'], ['American Samoa', 199, 'AS', 'ASM'], ['Andorra', 468, 'AD', 'AND'], ['Angola', 1246700, 'AO', 'AGO'] ] with open['countries.csv', 'w', encoding='UTF8', newline=''] as f: writer = csv.writer[f] # write the header writer.writerow[header] # write multiple rows writer.writerows[data]

Code language: PHP [php]

Ghi vào các tệp CSV bằng lớp DictWriter

Nếu mỗi hàng của tệp CSV là từ điển, bạn có thể sử dụng lớp

import csv # open the file in the write mode with open['path/to/csv_file', 'w'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

Code language: PHP [php]
4 của mô -đun csv để viết từ điển vào tệp CSV.

Ví dụ minh họa cách sử dụng lớp DictWriter để ghi dữ liệu vào tệp CSV:

import csv # csv header fieldnames = ['name', 'area', 'country_code2', 'country_code3'] # csv data rows = [ {'name': 'Albania', 'area': 28748, 'country_code2': 'AL', 'country_code3': 'ALB'}, {'name': 'Algeria', 'area': 2381741, 'country_code2': 'DZ', 'country_code3': 'DZA'}, {'name': 'American Samoa', 'area': 199, 'country_code2': 'AS', 'country_code3': 'ASM'} ] with open['countries.csv', 'w', encoding='UTF8', newline=''] as f: writer = csv.DictWriter[f, fieldnames=fieldnames] writer.writeheader[] writer.writerows[rows]

Code language: PHP [php]

Làm thế nào nó hoạt động.

  • Đầu tiên, xác định các biến giữ tên trường và hàng dữ liệu của tệp CSV.
  • Tiếp theo, mở tệp CSV để viết bằng cách gọi hàm

    import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

    Code language: Python [python]
    0.
  • Sau đó, tạo một thể hiện mới của lớp

    import csv # open the file in the write mode with open['path/to/csv_file', 'w'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

    Code language: PHP [php]
    4 bằng cách chuyển đối tượng tệp [

    import csv # open the file in the write mode with open['path/to/csv_file', 'w'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

    Code language: PHP [php]
    8] và đối số

    import csv # open the file in the write mode with open['path/to/csv_file', 'w'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

    Code language: PHP [php]
    9 cho nó.
  • Sau đó, hãy viết tiêu đề cho tệp CSV bằng cách gọi phương thức

    import csv # open the file in the write mode with open['path/to/csv_file', 'w', encoding='UTF8'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

    Code language: PHP [php]
    0.
  • Cuối cùng, ghi các hàng dữ liệu vào tệp CSV bằng phương thức

    import csv # open the file in the write mode f = open['path/to/csv_file', 'w'] # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row] # close the file f.close[]

    Code language: Python [python]
    4.

Bản tóm tắt

  • Sử dụng người viết CSV hoặc lớp

    import csv # open the file in the write mode with open['path/to/csv_file', 'w'] as f: # create the csv writer writer = csv.writer[f] # write a row to the csv file writer.writerow[row]

    Code language: PHP [php]
    4 để ghi dữ liệu vào tệp CSV.

Bạn có thấy hướng dẫn này hữu ích không?

Python có thể ghi vào tệp CSV không?

Class DictWriter [] có thể được sử dụng để ghi vào tệp CSV từ từ điển Python. Ở đây, tệp - tệp CSV nơi chúng tôi muốn viết. Tên trường - Một đối tượng danh sách nên chứa các tiêu đề cột chỉ định thứ tự trong đó dữ liệu nên được ghi trong tệp CSV.. Here, file - CSV file where we want to write to. fieldnames - a list object which should contain the column headers specifying the order in which data should be written in the CSV file.

Làm thế nào để bạn nhập tệp CSV vào Python?

Đọc CSV bằng mô -đun sẵn có của Python có tên CSV bằng CSV ...
Nhập thư viện CSV.Nhập CSV ..
Mở tệp CSV.Các .....
Sử dụng đối tượng CSV.Reader để đọc tệp CSV.csvreader = csv.Reader [tệp].
Trích xuất tên trường.Tạo một danh sách trống gọi là tiêu đề.....
Trích xuất các hàng/hồ sơ.....
Đóng tệp ..

Tại sao tệp CSV của tôi là Python trống?

Lý do mà bạn thấy không có gì trong tệp là Python vẫn mở tệp.Bạn cần phải đóng nó.Lưu câu trả lời này.python still has the file open. You need to close it. Save this answer.

Làm cách nào để lưu tệp CSV trong Python?

4 bước để viết CSV trong Python..
Mở tệp CSV trong chế độ ghi.Điều này xảy ra bằng cách sử dụng hàm Open [].....
Tạo một đối tượng CSV Writer.Để thực hiện việc này, hãy tạo đối tượng Writer [] [] đối tượng của mô -đun CSV và chuyển tệp đã mở dưới dạng đối số của nó ..
Viết dữ liệu vào tệp CSV.....
Đóng tệp CSV bằng phương thức đóng [] của tệp ..

Bài Viết Liên Quan

Chủ Đề