Bảng tính thường xuất các tệp CSV [giá trị tách rời], vì chúng dễ đọc và viết. Một tệp CSV chỉ đơn giản là bao gồm các giá trị, dấu phẩy và dòng mới. Mặc dù tệp được gọi là ‘Dấu hiệu riêng biệt Tệp, bạn có thể sử dụng một bộ tách khác như ký tự đường ống.
Phân tích Coursedata liên quan với Python Pandas
Data Analysis with Python Pandas
Tạo một tệp bảng tính [CSV] trong Pythonlet chúng tôi tạo một tệp ở định dạng CSV với Python. Chúng tôi sẽ sử dụng ký tự dấu phẩy làm người tách rời hoặc phân định.
Let us create a file in CSV format with Python. We will use the comma character as seperator or delimter.
import csv
with open['persons.csv', 'wb'] as csvfile:
filewriter = csv.writer[csvfile, delimiter=',',
quotechar='|', quoting=csv.QUOTE_MINIMAL]
filewriter.writerow[['Name', 'Profession']]
filewriter.writerow[['Derek', 'Software Developer']]
filewriter.writerow[['Steve', 'Software Developer']]
filewriter.writerow[['Paul', 'Manager']]
Chạy mã này sẽ cung cấp cho chúng tôi những người này.csv với nội dung này:
Name,Profession
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Bạn có thể nhập tệp person.csv trong chương trình văn phòng yêu thích của bạn.
Đọc tệp bảng tính [CSV] Nếu bạn đã tạo tệp CSV, chúng tôi có thể đọc các tệp theo từng hàng với mã bên dưới:
If you created a csv file, we can read files row by row with the code below:
import csv
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Điều này chỉ đơn giản sẽ hiển thị mỗi hàng dưới dạng danh sách:
['Name', 'Profession']
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Có lẽ bạn muốn lưu trữ nó vào danh sách Python. Chúng tôi nhận được dữ liệu từ tệp CSV và sau đó lưu trữ nó vào danh sách Python. Chúng tôi bỏ qua tiêu đề với một câu lệnh IF vì nó không thuộc về danh sách. Mã đầy đủ:
import csv
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
Result:
['Derek', 'Steve', 'Paul']
['Software Developer', 'Software Developer', 'Manager']
Hầu hết các chương trình bảng tính hoặc văn phòng đều có thể xuất các tệp CSV, vì vậy chúng tôi khuyên bạn nên tạo bất kỳ loại tệp CSV nào và chơi xung quanh với nó :-]
Phân tích Coursedata liên quan với Python Pandas
Data Analysis with Python Pandas
Chúng tôi sẽ sử dụng độc quyền mô -đun
import csv8 được tích hợp vào Python cho nhiệm vụ này. Nhưng trước tiên, chúng tôi sẽ phải nhập mô -đun như:
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
import csv
Chúng tôi đã đề cập đến những điều cơ bản về cách sử dụng mô -đun
import csv8 để đọc và ghi vào các tệp CSV. Nếu bạn không có bất kỳ ý tưởng nào về việc sử dụng mô -đun
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
import csv8, hãy xem hướng dẫn của chúng tôi trên Python CSV: Đọc và viết các tệp CSV
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Việc sử dụng cơ bản của CSV.Writer []
Chúng ta hãy xem một ví dụ cơ bản về việc sử dụng
['Name', 'Profession']1
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Name', 'Profession']2
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Name', 'Profession']3 để làm mới kiến thức hiện có của bạn.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Ví dụ 1: Viết vào các tệp CSV bằng csv.writer []
Giả sử chúng ta muốn viết một tệp CSV với các mục sau:
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming
Đây là cách chúng tôi làm điều đó.
import csv
with open['innovators.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerow[["SN", "Name", "Contribution"]]
writer.writerow[[1, "Linus Torvalds", "Linux Kernel"]]
writer.writerow[[2, "Tim Berners-Lee", "World Wide Web"]]
writer.writerow[[3, "Guido van Rossum", "Python Programming"]]
Khi chúng tôi chạy chương trình trên, một tệp đổi mới.csv được tạo trong thư mục làm việc hiện tại với các mục đã cho.innovators.csv file is created in the current working directory with the given entries.
Ở đây, chúng tôi đã mở tệp đổi mới.csv trong chế độ viết bằng hàm
['Name', 'Profession']4.innovators.csv file in writing mode using
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Name', 'Profession']4 function.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Để tìm hiểu thêm về việc mở các tệp trong Python, hãy truy cập: Đầu vào/đầu ra tệp Python
Tiếp theo, hàm
['Name', 'Profession']5 được sử dụng để tạo đối tượng
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Name', 'Profession']2. Hàm
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Name', 'Profession']7 sau đó được sử dụng để viết các hàng đơn vào tệp CSV.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Ví dụ 2: Viết nhiều hàng bằng Writerows []
Nếu chúng ta cần viết nội dung của danh sách 2 chiều vào tệp CSV, thì đây là cách chúng ta có thể làm điều đó.
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
Đầu ra của chương trình giống như trong ví dụ 1.Example 1.
Tại đây, danh sách 2 chiều của chúng tôi được chuyển đến hàm
['Name', 'Profession']8 để viết nội dung của danh sách vào tệp CSV.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Bây giờ chúng ta hãy xem làm thế nào chúng ta có thể viết các tệp CSV ở các định dạng khác nhau. Sau đó, chúng tôi sẽ học cách tùy chỉnh chức năng
['Name', 'Profession']5 để viết chúng.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Tệp CSV với trình phân cách tùy chỉnh
Theo mặc định, dấu phẩy được sử dụng làm dấu phân cách trong tệp CSV. Tuy nhiên, một số tệp CSV có thể sử dụng các trình phân cách khác ngoài dấu phẩy. Một vài cái phổ biến là
import csv0 và
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv1.
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
Giả sử chúng ta muốn sử dụng
import csv0 như một dấu phân cách trong tệp Innovors.csv của ví dụ 1. Để viết tệp này, chúng ta có thể chuyển tham số
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv3 bổ sung cho hàm
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
['Name', 'Profession']5.innovators.csv file of Example 1. To write this file, we can pass an additional
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
import csv3 parameter to the
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
['Name', 'Profession']5 function.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Hãy lấy một ví dụ.
Ví dụ 3: Viết tệp CSV có dấu phân cách ống
Name,Profession0
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Đầu ra
Name,Profession1
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Như chúng ta có thể thấy, tham số tùy chọn
import csv5 giúp chỉ định đối tượng
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
['Name', 'Profession']2 mà tệp CSV nên có
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
import csv0 dưới dạng dấu phân cách.
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
Các tệp CSV có báo giá
Một số tệp CSV có báo giá xung quanh mỗi hoặc một số mục.
Hãy lấy dấu ngoặc kép.csv làm ví dụ, với các mục sau:quotes.csv as an example, with the following entries:
Name,Profession2
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Sử dụng
['Name', 'Profession']5 theo mặc định sẽ không thêm các trích dẫn này vào các mục.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Để thêm chúng, chúng ta sẽ phải sử dụng một tham số tùy chọn khác được gọi là
import csv9.
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
Chúng ta hãy lấy một ví dụ về cách trích dẫn có thể được sử dụng xung quanh các giá trị không phải là số và
['Derek', 'Steve', 'Paul']0 làm dấu phân cách.
['Software Developer', 'Software Developer', 'Manager']
Ví dụ 4: Viết các tệp CSV có báo giá
Name,Profession3
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Đầu ra
Name,Profession2
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Ở đây, tệp trích dẫn.csv được tạo trong thư mục làm việc với các mục trên.quotes.csv file is created in the working directory with the above entries.
Như bạn có thể thấy, chúng tôi đã chuyển
['Derek', 'Steve', 'Paul']1 cho tham số
['Software Developer', 'Software Developer', 'Manager']
import csv9. Nó là một hằng số được xác định bởi mô -đun
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv8.
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
['Derek', 'Steve', 'Paul']1 Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']
['Name', 'Profession']2 mà báo giá nên được thêm vào xung quanh các mục không phải là số.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Có 3 hằng số được xác định trước khác mà bạn có thể chuyển đến tham số
import csv9:
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
['Derek', 'Steve', 'Paul']
7 - Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']['Name', 'Profession']
2 để viết tệp CSV với các trích dẫn xung quanh tất cả các mục.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']['Derek', 'Steve', 'Paul']
9 - Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']['Name', 'Profession']
2 chỉ trích dẫn các trường có chứa các ký tự đặc biệt [Delimiter, Quotechar hoặc bất kỳ ký tự nào trong lineterminator]delimiter, quotechar or any characters in lineterminator]
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
1 - Chỉ định đối tượngimport csv
['Name', 'Profession']
2 mà không có mục nào nên được trích dẫn. Nó là giá trị mặc định.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Các tệp CSV với ký tự trích dẫn tùy chỉnh
Chúng ta cũng có thể viết các tệp CSV với các ký tự trích dẫn tùy chỉnh. Vì vậy, chúng tôi sẽ phải sử dụng một tham số tùy chọn gọi là
import csv
3.Chúng ta hãy lấy một ví dụ về viết trích dẫn.csv trong ví dụ 4, nhưng với
import csv
4 là ký tự trích dẫn.quotes.csv file in Example 4, but with import csv
4 as the quoting character.Ví dụ 5: Viết các tệp CSV có ký tự trích dẫn tùy chỉnh
Name,Profession5
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Đầu ra
Name,Profession6
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Ở đây, tệp trích dẫn.csv được tạo trong thư mục làm việc với các mục trên.
Như bạn có thể thấy, chúng tôi đã chuyển ['Derek', 'Steve', 'Paul']
['Software Developer', 'Software Developer', 'Manager']
1 cho tham số import csv
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
9. Nó là một hằng số được xác định bởi mô -đun import csv
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
8.
['Software Developer', 'Software Developer', 'Manager']
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
['Derek', 'Steve', 'Paul']1 Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']
['Name', 'Profession']2 mà báo giá nên được thêm vào xung quanh các mục không phải là số.Example 5 that we have passed multiple parameters [
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
import csv9,
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv3 and
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv
3] to the ['Name', 'Profession']5 function.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Có 3 hằng số được xác định trước khác mà bạn có thể chuyển đến tham số
import csv9:
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
['Derek', 'Steve', 'Paul']7 - Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']
['Name', 'Profession']2 để viết tệp CSV với các trích dẫn xung quanh tất cả các mục.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Derek', 'Steve', 'Paul']9 - Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']
['Name', 'Profession']2 chỉ trích dẫn các trường có chứa các ký tự đặc biệt [Delimiter, Quotechar hoặc bất kỳ ký tự nào trong lineterminator]
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
import csv
1 - Chỉ định đối tượng ['Name', 'Profession']2 mà không có mục nào nên được trích dẫn. Nó là giá trị mặc định.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Các tệp CSV với ký tự trích dẫn tùy chỉnh
Chúng ta cũng có thể viết các tệp CSV với các ký tự trích dẫn tùy chỉnh. Vì vậy, chúng tôi sẽ phải sử dụng một tham số tùy chọn gọi là
import csv
3.office.csv] with the following content:Name,Profession7
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Chúng ta hãy lấy một ví dụ về viết trích dẫn.csv trong ví dụ 4, nhưng với
import csv
4 là ký tự trích dẫn.Ví dụ 5: Viết các tệp CSV có ký tự trích dẫn tùy chỉnh
Name,Profession8
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Đầu ra
Name,Profession7
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Ở đây, tệp trích dẫn.csv được tạo trong thư mục làm việc với các mục trên.office.csv is created in the working directory with the above contents.
Như bạn có thể thấy, chúng tôi đã chuyển
['Derek', 'Steve', 'Paul']1 cho tham số
['Software Developer', 'Software Developer', 'Manager']
import csv9. Nó là một hằng số được xác định bởi mô -đun
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv8.
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
import csv0
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
['Derek', 'Steve', 'Paul']1 Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']
['Name', 'Profession']2 mà báo giá nên được thêm vào xung quanh các mục không phải là số.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Có 3 hằng số được xác định trước khác mà bạn có thể chuyển đến tham số
import csv9:
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
['Derek', 'Steve', 'Paul']7 - Chỉ định đối tượng
['Software Developer', 'Software Developer', 'Manager']
['Name', 'Profession']2 để viết tệp CSV với các trích dẫn xung quanh tất cả các mục.myDialect to write other CSV files without having to re-specify the CSV format.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
['Derek', 'Steve', 'Paul']
['Software Developer', 'Software Developer', 'Manager']
9 - Chỉ định đối tượng ['Name', 'Profession']
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
2 chỉ trích dẫn các trường có chứa các ký tự đặc biệt [Delimiter, Quotechar hoặc bất kỳ ký tự nào trong lineterminator]
['Software Developer', 'Software Developer', 'Manager']
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
import csv
1 - Chỉ định đối tượng ['Name', 'Profession']2 mà không có mục nào nên được trích dẫn. Nó là giá trị mặc định.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Các tệp CSV với ký tự trích dẫn tùy chỉnh
import csv1
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Here,
- Chúng ta cũng có thể viết các tệp CSV với các ký tự trích dẫn tùy chỉnh. Vì vậy, chúng tôi sẽ phải sử dụng một tham số tùy chọn gọi là
3.import csv
- Chúng ta hãy lấy một ví dụ về viết trích dẫn.csv trong ví dụ 4, nhưng với
4 là ký tự trích dẫn.import csv
Ví dụ 5: Viết các tệp CSV có ký tự trích dẫn tùy chỉnh
import csv2
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Đầu ra
Ở đây, chúng ta có thể thấy rằng tham số
import csv
5 hướng dẫn đối tượng ['Name', 'Profession']2 sử dụng
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
import csv
4 làm báo giá cho tất cả các giá trị không phải là số.players.csv file with the following entries:import csv3
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Phương ngữ trong mô -đun CSV
import csv4
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Lưu ý trong ví dụ 5 rằng chúng tôi đã chuyển nhiều tham số [
import csv9,
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv3 và
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
import csv
3] cho hàm ['Name', 'Profession']5.
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']
Thực tiễn này được chấp nhận khi xử lý một hoặc hai tệp. Nhưng nó sẽ làm cho mã dự phòng hơn và xấu hơn khi chúng tôi bắt đầu làm việc với nhiều tệp CSV có định dạng tương tự.
Là một giải pháp cho vấn đề này, mô -đun
import csv8 cung cấp
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming3 như một tham số tùy chọn.
Tuy nhiên, đối tượng
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming9 chỉ nhận ra các giá trị
import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
7 hoặc import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
8 là import csv
row_list = [["SN", "Name", "Contribution"],
[1, "Linus Torvalds", "Linux Kernel"],
[2, "Tim Berners-Lee", "World Wide Web"],
[3, "Guido van Rossum", "Python Programming"]]
with open['protagonist.csv', 'w', newline=''] as file:
writer = csv.writer[file]
writer.writerows[row_list]
2. Vì vậy, sử dụng các ký tự khác làm Kẻ hủy diệt dòng rất nản lòng.DoubleQuote & Escapechar trong mô -đun CSV
Để phân tách các ký tự phân cách trong các mục, mô -đun
import csv8 theo mặc định trích dẫn các mục nhập bằng dấu ngoặc kép.
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Vì vậy, nếu bạn có một mục nhập: Anh ấy là một người đàn ông mạnh mẽ, khỏe mạnh, nó sẽ được viết như: "Anh ấy là một người đàn ông mạnh mẽ, khỏe mạnh".
Tương tự, mô -đun
import csv8 sử dụng dấu ngoặc kép để thoát khỏi ký tự trích dẫn có trong các mục theo mặc định.
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Nếu bạn có một mục: Truy cập "Programiz.com", nó sẽ được viết là: "Truy cập" "Programiz.com" "".
Ở đây, chúng ta có thể thấy rằng mỗi
Name,Profession02 được theo sau bởi
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Name,Profession02 để thoát khỏi cái trước.
Derek,Software Developer
Steve,Software Developer
Paul,Manager
DoubleQuote
Nó xử lý cách
import csv
3 hiện diện trong mục nhập được trích dẫn. Khi Name,Profession05, ký tự trích dẫn được nhân đôi và khi
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Name,Profession06,
Derek,Software Developer
Steve,Software Developer
Paul,Manager
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming7 được sử dụng làm tiền tố cho
import csv
3. Theo mặc định, giá trị của nó là Name,Profession05.
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Escapechar
Tham số
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming7 là một chuỗi để thoát dấu phân cách nếu trích dẫn được đặt thành
import csv
1 và quotechar nếu doublequote là Name,Profession06. Giá trị mặc định của nó là không có.
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Ví dụ 8: Sử dụng Escapechar trong CSV Writer
import csv5
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Đầu ra
import csv6
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Ở đây, chúng ta có thể thấy rằng
Name,Profession13 là tiền tố cho tất cả các
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Name,Profession02 và
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Name,Profession15 vì chúng tôi đã chỉ định
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Name,Profession16.
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Nếu nó không được xác định, thì đầu ra sẽ là:
import csv7
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
for row in reader:
print row
Vì chúng tôi cho phép trích dẫn, các mục với các ký tự đặc biệt [____ 102 trong trường hợp này] được trích dẫn kép. Các mục với
import csv3 cũng được đặt trong các ký tự trích dẫn. [Bắt đầu và đóng các ký tự trích dẫn]
names = []
jobs = []
with open['persons.csv', 'rb'] as f:
reader = csv.reader[f]
rowNr = 0
for row in reader:
if rowNr >= 1:
names.append[row[0]]
jobs.append[row[1]]
rowNr = rowNr + 1
print names
print jobs
Các ký tự trích dẫn còn lại là thoát khỏi
Name,Profession02 thực tế như một phần của chuỗi, để chúng không được hiểu là quotechar.
Derek,Software Developer
Steve,Software Developer
Paul,Manager
Lưu ý: Mô -đun CSV cũng có thể được sử dụng cho các tiện ích mở rộng tệp khác [như: .txt] miễn là nội dung của chúng có cấu trúc thích hợp. The csv module can also be used for other file extensions [like: .txt] as long as their contents are in proper structure.
Đọc được đề xuất: Đọc các tệp CSV trong Python Read CSV Files in Python