Hướng dẫn read csv cell python - đọc python di động csv

Theo các ý kiến ​​cho câu hỏi SO ở đây, một mã tốt nhất, mạnh mẽ hơn sẽ là:

Cập nhật: Nếu những gì OP thực sự muốn là chuỗi cuối cùng trong hàng cuối cùng của tệp CSV, có một số aproaches không cần CSV cần thiết. Ví dụ, If what the OP actually wants is the last string in the last row of the csv file, there are several aproaches that not necesarily needs csv. For example,

Điều này không tốt cho các tệp rất lớn vì bạn tải văn bản hoàn chỉnh trong bộ nhớ nhưng có thể ổn đối với các tệp nhỏ. Lưu ý rằng

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']
0 có thể bao gồm một ký tự dòng mới để loại bỏ nó trước khi sử dụng.

CẬP NHẬT 2: Đây hiện là mã tương tự so với mã trong câu trả lời từ J.F.Sebastian. (Tín dụng dành cho anh ấy): This is now the same code than the one in the answer from J.F.Sebastian. (The credit is for him):

Tệp CSV là gì?

Tệp CSV là một loại tệp văn bản đơn giản sử dụng cấu trúc cụ thể để sắp xếp dữ liệu bảng. Định dạng tiêu chuẩn của tệp CSV được xác định bởi dữ liệu hàng và cột trong đó một dòng mới kết thúc từng hàng để bắt đầu hàng tiếp theo và mỗi cột được phân tách bằng dấu phẩy trong hàng.CSV file is a simple type of plain text file which uses a specific structure to arrange tabular data. The standard format of a CSV file is defined by rows and columns data where a newline terminates each row to begin the next row, and each column is separated by a comma within the row.

CSV là một định dạng phổ biến để trao đổi dữ liệu vì nó nhỏ gọn, đơn giản và chung chung. Nhiều dịch vụ trực tuyến cho phép người dùng của họ xuất dữ liệu bảng từ trang web vào tệp CSV. Các tệp của CSV sẽ mở vào Excel và gần như tất cả các cơ sở dữ liệu đều có một công cụ để cho phép nhập từ các tệp CSV.

Trong hướng dẫn này, bạn sẽ học:

  • Tệp CSV là gì?
  • Tệp CSV là một loại tệp văn bản đơn giản sử dụng cấu trúc cụ thể để sắp xếp dữ liệu bảng. Định dạng tiêu chuẩn của tệp CSV được xác định bởi dữ liệu hàng và cột trong đó một dòng mới kết thúc từng hàng để bắt đầu hàng tiếp theo và mỗi cột được phân tách bằng dấu phẩy trong hàng.
  • CSV là một định dạng phổ biến để trao đổi dữ liệu vì nó nhỏ gọn, đơn giản và chung chung. Nhiều dịch vụ trực tuyến cho phép người dùng của họ xuất dữ liệu bảng từ trang web vào tệp CSV. Các tệp của CSV sẽ mở vào Excel và gần như tất cả các cơ sở dữ liệu đều có một công cụ để cho phép nhập từ các tệp CSV.
  • Trong hướng dẫn này, bạn sẽ học:
  • Cách đọc tệp CSV trong Python
  • Cách đọc tệp CSV vào từ điển trong Python
  • Cách viết tệp CSV bằng Python
  • Đọc tệp CSV bằng Pandas
  • Viết tệp CSV bằng Pandas

Tệp CSV là một loại tệp văn bản đơn giản sử dụng cấu trúc cụ thể để sắp xếp dữ liệu bảng. Định dạng tiêu chuẩn của tệp CSV được xác định bởi dữ liệu hàng và cột trong đó một dòng mới kết thúc từng hàng để bắt đầu hàng tiếp theo và mỗi cột được phân tách bằng dấu phẩy trong hàng.

CSV là một định dạng phổ biến để trao đổi dữ liệu vì nó nhỏ gọn, đơn giản và chung chung. Nhiều dịch vụ trực tuyến cho phép người dùng của họ xuất dữ liệu bảng từ trang web vào tệp CSV. Các tệp của CSV sẽ mở vào Excel và gần như tất cả các cơ sở dữ liệu đều có một công cụ để cho phép nhập từ các tệp CSV.

Xem xét bảng sau

Bảng dữ liệu

Ngôn ngữ lập trìnhThiết kế bởiĐã xuất hiệnSự mở rộng
PythonGuido Van Rossum1991 .py
JavaJames Gosling1995 .Java
C ++Bjarne Stroustrup1983 .cpp

Bạn có thể đại diện cho bảng này trong CSV như dưới đây.

Dữ liệu CSV

Ngôn ngữ lập trình, được thiết kế bởi, xuất hiện, mở rộng

Python, Guido Van Rossum, 1991, .Py

Java, James Gosling, 1995, .Java

C ++, Bjarne Stroustrup, 1983, .cpp

Như bạn có thể thấy mỗi hàng là một dòng mới và mỗi cột được phân tách bằng dấu phẩy. Đây là một ví dụ về cách một tệp CSV trông như thế nào.

Tải xuống dữ liệu CSV

Python cung cấp mô -đun CSV để xử lý các tệp CSV. Để đọc/ghi dữ liệu, bạn cần lặp qua các hàng của CSV. Bạn cần sử dụng phương thức phân chia để lấy dữ liệu từ các cột được chỉ định.

Chức năng mô -đun CSV

Trong tài liệu mô -đun CSV, bạn có thể tìm thấy các chức năng sau:

  • csv.field_size_limit - trả về kích thước trường tối đa
  • csv.get_dialect - Nhận phương ngữ được liên kết với tên
  • CSV.List_Dialects - Hiển thị tất cả các phương ngữ đã đăng ký
  • CSV.Reader - Đọc dữ liệu từ tệp CSV
  • CSV.Register_Dialect - Phương ngữ liên kết với tên
  • CSV.Writer - Viết dữ liệu vào tệp CSV
  • csv.unregister_dialect - xóa phương ngữ được liên kết với tên đăng ký phương ngữ
  • csv.quote_all - Trích dẫn mọi thứ, bất kể loại. – Quote everything, regardless of type.
  • csv.quote_minimal - các trường trích dẫn với các ký tự đặc biệt – Quote fields with special characters
  • csv.quote_nonnumeric - trích dẫn tất cả các trường có giá trị số aren – Quote all fields that aren’t numbers value
  • csv.quote_none - don lồng trích dẫn bất cứ điều gì trong đầu ra – Don’t quote anything in output

Trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào các chức năng của người đọc và nhà văn cho phép bạn chỉnh sửa, sửa đổi và thao tác dữ liệu trong tệp CSV.

Cách đọc tệp CSV trong Python

Dưới đây là các bước để đọc tệp CSV trong Python.

Bước 1) Để đọc dữ liệu từ các tệp CSV, bạn phải sử dụng hàm đọc để tạo đối tượng đầu đọc. To read data from CSV files, you must use the reader function to generate a reader object.

Hàm trình đọc được phát triển để thực hiện từng hàng của tệp và lập danh sách tất cả các cột. Sau đó, bạn phải chọn cột bạn muốn dữ liệu biến cho.

Nghe có vẻ phức tạp hơn rất nhiều so với nó. Hãy cùng xem mã Python này để đọc tệp CSV và chúng tôi sẽ tìm ra rằng làm việc với tệp CSV rất khó.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Bước 2) Khi bạn thực hiện chương trình ở trên, đầu ra sẽ là: When you execute the program above, the output will be:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Cách đọc tệp CSV vào từ điển trong Python

Bạn cũng có thể sử dụng DicTreader để đọc các tệp CSV. Các kết quả được hiểu là một từ điển trong đó hàng tiêu đề là khóa và các hàng khác là giá trị.

Xem xét mã sau

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Kết quả của mã này là:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Hướng dẫn read csv cell python - đọc python di động csv

Và cách này để đọc dữ liệu từ tệp CSV dễ dàng hơn nhiều so với phương thức trước đó. Tuy nhiên, đây không phải là cách tốt nhất để đọc dữ liệu.

Cách viết tệp CSV bằng Python

Dưới đây là cách viết tệp CSV bằng Python:

Khi bạn có một bộ dữ liệu mà bạn muốn lưu trữ trong tệp CSV, bạn phải sử dụng hàm writer (). Để lặp lại dữ liệu trên các hàng (dòng), bạn phải sử dụng hàm wreiterow ().

Xem xét các ví dụ sau. Chúng tôi viết dữ liệu vào một tập tin mà Writedata.csv, trong đó dấu phân cách là một dấu nháy đơn.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Kết quả trong tệp CSV là:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

Đọc tệp CSV bằng Pandas

Pandas là một thư viện OpenSource cho phép bạn nhập CSV trong Python và thực hiện thao tác dữ liệu. Pandas cung cấp một cách dễ dàng để tạo, thao tác và xóa dữ liệu.

Bạn phải cài đặt Thư viện Pandas với Gấu trúc Cài đặt PIP. Trong Windows, bạn sẽ thực thi lệnh này trong dấu nhắc lệnh trong khi ở Linux trong thiết bị đầu cuối.

Đọc CSV vào một chiếc Pandas DataFrame rất nhanh chóng và dễ dàng:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Kết quả của ví dụ CSV Pandas đã đọc:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Thư viện rất hữu ích. Chỉ trong ba dòng mã, bạn có cùng kết quả như trước đó. Pandas biết rằng dòng đầu tiên của CSV chứa tên cột và nó sẽ tự động sử dụng chúng.

Viết tệp CSV bằng Pandas

Viết vào tệp CSV với gấu trúc cũng dễ như đọc. Ở đây bạn có thể thuyết phục trong đó. Đầu tiên, bạn phải tạo DataFrame dựa trên Python sau đây ghi vào mã CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Đây là đầu ra

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Và tệp CSV được tạo tại vị trí được chỉ định.

Sự kết luận

Vì vậy, bây giờ bạn đã biết cách sử dụng phương thức ‘CSV, và cũng đọc và ghi dữ liệu ở định dạng CSV. Các tệp CSV được sử dụng rộng rãi trong các ứng dụng phần mềm vì chúng dễ đọc và quản lý và kích thước nhỏ của chúng làm cho chúng tương đối nhanh để xử lý và truyền.

Mô -đun CSV cung cấp các chức năng và lớp khác nhau cho phép bạn đọc và viết dễ dàng. Bạn có thể nhìn vào tài liệu Python chính thức và tìm thấy một số mẹo và mô -đun thú vị hơn. CSV là cách tốt nhất để lưu, xem và gửi dữ liệu. Trên thực tế, nó rất khó để học vì dường như lúc đầu. Nhưng với một chút thực hành, bạn sẽ làm chủ nó.

Pandas là một thay thế tuyệt vời để đọc các tệp CSV.

Ngoài ra, có nhiều cách khác để phân tích các tệp văn bản với các thư viện như ANTLR, PLY và Plyplus.Tất cả họ có thể xử lý phân tích cú pháp hạng nặng và nếu thao tác chuỗi đơn giản không hoạt động, có những biểu thức thường xuyên mà bạn có thể sử dụng.

M = CSVREAD (Tên tệp) đọc tệp được định dạng giá trị phân tách bằng dấu phẩy (CSV) thành mảng m.Tệp phải chỉ chứa các giá trị số.M = CSVREAD (FileName, R1, C1) đọc dữ liệu từ tệp bắt đầu ở Row Offset R1 và Cột bù C1. reads a comma-separated value (CSV) formatted file into array M . The file must contain only numeric values. M = csvread( filename , R1 , C1 ) reads data from the file starting at row offset R1 and column offset C1 .