Hướng dẫn how to read csv file in python without libraries - cách đọc tệp csv trong python mà không cần thư viện

def loadfunc(filestr):
listoftuples = []
listofnumbers = []
tupleinlist = []
with open(filestr, 'r') as file:
    for line in file:
        for item in line:
            if item.isdigit():
                listofnumbers.append(float(item))
            else:
                word = item
tupleinlist.append(word)
tupleinlist.append(listofnumbers)
listoftuples.append(tuple(tupleinlist))
return listoftuples
print(listoftuples)

Trên đây là mã của tôi. Vì vậy, yêu cầu là tải dữ liệu từ tệp .csv và vào một danh sách các bộ dữ liệu. Dữ liệu trong tệp giống như:

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9

Bên cạnh mỗi bộ trong danh sách, nó phải là (word, listoffloats) để danh sách trông giống như:

[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]

Nhưng với mã của tôi, nó làm hỏng việc này và không trả lại vì khi nó lặp lại "mục" trong mỗi dòng "dòng", nó lặp lại trên mỗi ký tự (như ., a, p, p, l, e) là những thứ như

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
0,
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
1, v.v.

Giúp tôi không biết cách khắc phục điều này và không được phép sử dụng thư viện/mô -đun CSV cho hướng dẫn này.

CSV (Giá trị phân tách bằng dấu phẩy) là một định dạng tệp đơn giản được sử dụng để lưu trữ dữ liệu bảng, chẳng hạn như bảng tính hoặc cơ sở dữ liệu. Tệp CSV lưu trữ dữ liệu bảng (số và văn bản) trong văn bản thuần túy. Mỗi dòng của tệp là một bản ghi dữ liệu. Mỗi hồ sơ bao gồm một hoặc nhiều trường, cách nhau bằng dấu phẩy. Việc sử dụng dấu phẩy làm dấu phân cách trường là nguồn của tên cho định dạng tệp này. Các tệp CSV có thể được đọc bằng thư viện Python có tên là Pandas. Thư viện này có thể được sử dụng để đọc một số loại tệp, bao gồm các tệp CSV. Chúng tôi sử dụng hàm thư viện read_csv (đầu vào) để đọc tệp CSV. URL/đường dẫn của tệp CSV mà bạn muốn đọc được đưa ra làm đầu vào cho hàm. Cú pháp:Syntax:

pd.read_csv (filepath_or_buffer, sep = ',', delimiter = none, header = 'inform động cơ = none, bộ chuyển đổi = none, true_values ​​= none, false_values ​​= none, skipinitialspace = false Sai ", Trích dẫn = 0, escapechar = none, bình luận = không , memory_map = false, float_precision = none)filepath_or_buffer, sep=’, ‘, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression=’infer’, thousands=None, decimal=b’.’, lineterminator=None, quotechar='”‘, quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

Không phải tất cả chúng đều quan trọng nhưng nhớ những điều này thực sự tiết kiệm thời gian thực hiện cùng một chức năng. Người ta có thể thấy các tham số của bất kỳ chức năng nào bằng cách nhấn Tab Shift + trong Notebook Jupyter. Những cái hữu ích được đưa ra dưới đây với cách sử dụng của họ:

Tham sốSử dụng
FILEPATH_OR_BUFFERVị trí URL hoặc Dir của tệp
Tháng 9Là viết tắt của DECEATOR, mặc định là ‘, như trong CSV (giá trị phân tách bằng dấu phẩy)
index_colLàm cho cột được truyền làm chỉ mục thay vì 0, 1, 2, 3… r r
Hướng dẫn how to read csv file in python without libraries - cách đọc tệp csv trong python mà không cần thư viện
tiêu đềLàm cho hàng qua/s [danh sách int/int] làm tiêu đề
Hướng dẫn how to read csv file in python without libraries - cách đọc tệp csv trong python mà không cần thư viện
use_colsChỉ sử dụng col [danh sách chuỗi] được truyền để tạo khung dữ liệu
vắt kiệtNếu đúng và chỉ có một cột được thông qua, Returns Pandas Series
bỏ quaBỏ qua các hàng vượt qua trong khung dữ liệu mới

Nếu đường dẫn đã cho không hợp lệ, IE, tệp không có mặt tại đường dẫn đã cho thì hàm sẽ cho FileNotFounderRor. Nhưng nếu hàm đọc thành công tệp, thì nó sẽ trả về một đối tượng của loại pandas.core.frame.dataframe. DataFrame (đối tượng) được trả về sau đó có thể được chuyển đổi thành một mảng numpy bằng cách sử dụng hàm dataFrame.to_numpy () Chức năng này đi kèm với gấu trúc và trả về biểu diễn mảng numpy của dataFrame. Sau đó, trở đi, chúng ta có thể sử dụng mảng như một mảng numpy để thực hiện các hoạt động mong muốn. Ví dụ: & nbsp;Example: 

Python3

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
2
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
3

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
4
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
5
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
6

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
7
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
8
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
9
[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]
0

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
7
[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]
2

[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]
3
 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
5
[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]
5

 - apple    23.2    24.3    25.6
 - banana   22.1    20.0    19.9
7
[(apple, [23.2, 24.3, 25.6]), (banana, [22.1, 20.0, 219.9])]
7

Output:

Hướng dẫn how to read csv file in python without libraries - cách đọc tệp csv trong python mà không cần thư viện

Lệnh nào đọc các tệp CSV trong Python?

Đọc từ tệp CSV được thực hiện bằng cách sử dụng đối tượng đầu đọc.Tệp CSV được mở dưới dạng tệp văn bản với hàm Open in () tích hợp của Python, trả về một đối tượng tệp.reader object. The CSV file is opened as a text file with Python's built-in open() function, which returns a file object.

Python có thư viện CSV không?

CSV là viết tắt của các giá trị phân tách bằng dấu phẩy.Định dạng tệp này là một định dạng dữ liệu thường được sử dụng trong khi xuất/nhập dữ liệu sang/từ bảng tính và bảng dữ liệu trong cơ sở dữ liệu.Mô -đun CSV được kết hợp trong thư viện tiêu chuẩn của Python do PEP 305.The csv module was incorporated in Python's standard library as a result of PEP 305.