01/10/2018, 13:32

Đọc chuỗi theo mẫu từ file txt

giả sử thông tin một độc giả mượn sách như sau

001,nguyen van hai,123456789,nam,long an
001 là mã độc giả, tên, CMND, giới tính, địa chỉ
anh chị nào chỉ em cách đọc chuỗi này rồi in ra với ạ, em tìm toàn thấy dùng C++ mà k có dùng C

HK boy viết 15:37 ngày 01/10/2018
  • Đọc string trên cả dòng (gets hay đại loại thế)
  • Split theo dấu ,.
  • Từ vị trí 0 đến vị trí dấu , đầu tiên (v1) là mã độc giả
  • Từ vị trí v1 đến vị trí dấu , thứ 2 (v2) là tên
Hung viết 15:33 ngày 01/10/2018

File đó là file CSV.
Việc còn lại là search google tìm libs đọc file.

Python:

import pandas as pd
df = pd.read_csv('input.csv')

R:

df <- read.csv('input.csv')
HK boy viết 15:42 ngày 01/10/2018

Thớt đang hỏi C, đọc từ file txt mà…

Hung viết 15:33 ngày 01/10/2018

CSV là comma-separate value, là text file nhưng dữ liệu tách nhau bằng dấu “,”
Extension theo convention đặt là csv, nhưng đặt extension .txt cũng không sao.

Đa số language đều hỗ trợ đọc file csv hết, Python và R thuần làm dữ liệu nên có bộ thư viện chuẩn. C, C++ thì search google kéo về.

*grab popcorn* viết 15:36 ngày 01/10/2018

A post was merged into an existing topic: Topic chứa các reply được cho là off-topic - version 2

Dark.Hades viết 15:35 ngày 01/10/2018

C++ chưa hỗ trợ chính thức đọc CSV đâu, có thì là thư viện bên thứ 3.
(Chờ stl thêm vào chắc khoảng C++6969 )
Mấy ngôn ngữ kia cũng đều từ C/C++ ra hết thôi thớt.

Google hoặc github sẽ ra một rổ cho bạn chọn, tìm lib nào header only ấy thì khoẻ nhất

Trường hợp file có cấu trúc như vậy thì dùng hàm find là đc rồi

Văn Dương viết 15:37 ngày 01/10/2018

Csv thì khác gì file text. Khác mỗi bên trong cách cột bằng “,” hoặc 1 ký tự đặc biệt và khác cái extension là .csv thay vì txt.

nghia viết 15:36 ngày 01/10/2018

bạn đọc từng dòng rồi. dùng strtk() cắt chuỗi đọc ra.

Bài liên quan
0