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à: Show
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à 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
Bạn có thể đại diện cho bảng này trong CSV như dưới đây. Dữ liệu CSVNgô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 CSVTrong tài liệu mô -đun CSV, bạn có thể tìm thấy các chức năng sau:
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 PythonDướ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 PythonBạ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')]) 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 PythonDướ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 PandasPandas 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 PandasViế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ậnVì 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 . |