Hướng dẫn how to read a specific cell in csv python - cách đọc một ô cụ thể trong csv python

import csv
mycsv = csv.reader[open[myfilepath]]
for row in mycsv:
   text = row[1]

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à:

import csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............

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,

fulltxt = open[mifilepath, 'rb'].read[]
laststring = fulltxt.split[','][-1]

Đ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

import csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............
5 có thể bao gồm một ký tự dòng mới để loại bỏ nó trước khi sử dụng.

Và cuối cùng nếu những gì OP muốn là chuỗi thứ hai trong dòng N [cho n = 2]:

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]:

import csv
line_number = 2     
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    mycsv = list[mycsv]
    text = mycsv[line_number][1]
    ............

Tạo một tài khoản để theo dõi các cộng đồng yêu thích của bạn và bắt đầu tham gia vào các cuộc trò chuyện.

Tham gia Reddit

r/learnpython

Hello,

Tôi đã có một tệp .csv trên máy tính của tôi sẽ là cơ sở dữ liệu cho chương trình Python của tôi. Tôi đang cố gắng đọc các ô cụ thể không phải là toàn bộ cột và sau đó in giá trị của ô đó.

Đây là những gì tôi có cho đến nay:

import csv
with open['Share.csv'] as csvDataFile:
    csvReader = csv.reader[csvDataFile]
    for row in csvReader:
    print [row[2]]

Làm thế nào tôi làm cho mã này đọc các ô cụ thể

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:
  • Tệp mẫu CSV
  • 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 mẫu CSV

Dữ liệu ở dạng bảng còn được gọi là CSV [giá trị phân tách bằng dấu phẩy]-nghĩa đen là các giá trị được phân tách bằng dấu phẩy. Đây là một định dạng văn bản dành cho việc trình bày dữ liệu bảng. Mỗi dòng của tệp là một dòng của bảng. Các giá trị của các cột riêng lẻ được phân tách bằng ký hiệu phân cách - dấu phẩy [,], dấu chấm phẩy [;] hoặc biểu tượng khác. CSV có thể dễ dàng đọc và xử lý bởi Python.

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']]]

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à:

import csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............
0

Đọ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 csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............
1

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

import csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............
2

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.

import csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............
3

Đây là đầu ra

import csv
with open[myfilepath, 'rb'] as f:
    mycsv = csv.reader[f]
    for row in mycsv:
        text = row[1]
        ............
4

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.

Làm cách nào để đọc một cột cụ thể trong tệp CSV trong gấu trúc?

Sử dụng pandas.read_csv [] để đọc một cột cụ thể từ tệp CSV. Để đọc tệp CSV, hãy gọi PD. read_csv [file_name, usecols = cols_list] với file_name làm tên của tệp CSV, DELIMITER là dấu phân cách và cols_list làm danh sách các cột cụ thể để đọc từ tệp CSV. read_csv[] to read a specific column from a CSV file. To read a CSV file, call pd. read_csv[file_name, usecols=cols_list] with file_name as the name of the CSV file, delimiter as the delimiter, and cols_list as the list of specific columns to read from the CSV file.

Làm cách nào để đọc một hàng tệp CSV theo hàng trong Python bằng Pandas?

Đọc tệp CSV..
Tải CSV vào DataFrame: Nhập Pandas dưới dạng PD.df = pd.read_csv ['data.csv'] ....
In DataFrame mà không cần phương thức TO_STRING []: Nhập gấu trúc dưới dạng pd.....
Kiểm tra số lượng các hàng được trả lại tối đa: nhập pandas dưới dạng PD.....
Tăng số lượng hàng tối đa để hiển thị toàn bộ DataFrame: Nhập Pandas dưới dạng PD ..

Làm thế nào tôi có thể đọc một cột cụ thể của một hàng cụ thể của tệp CSV trong Java?

-> Bạn có một chuỗi, tức là hàng từ tệp sau đó bạn chỉ cần sử dụng phương thức Split [,,] để phân chia hàng và tách từng trường.-> Bây giờ chức năng Split [] sẽ trả về một mảng sẽ là dữ liệu khôn ngoan.Bây giờ bạn có thể truy cập bất kỳ cột bằng cách sử dụng chỉ mục của nó.use split[“,”] method to split row and separate each field. -> Now split[] function will return an array which will be column wise data. Now you can access any column using its index.

Bài Viết Liên Quan

Chủ Đề