AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
zsv C 파서를 이용해 CSV 등 구분 텍스트 파일을 R 데이터프레임으로 읽어 들이며, 따옴표 필드와 중첩 구분자를 처리합니다
Reads comma-separated and other delimited text files into base R data frames using the zsv C parser <https://github.com/liquidaty/zsv> as its native backend. Handles quoted fields, embedded delimiters
개발 도구R · CGitHub @pedrobtz온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Read CSV Files Using the 'zsv' Parser
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Read CSV files into base R data frames, using the
zsv C parser as the backend.
zucsv is deliberately small: two exported functions, no R package
dependencies, and a bundled copy of the parser so there is nothing to install
and nothing to configure. The division of labour is the whole design —
zsv decides where rows and fields begin and end, zucsv decides what they
mean in R.
Types are inferred over logical, integer, double and character. Give
col_types to fix them instead — a value that will not convert is an error
rather than a silent NA:README 전문 보기 ↗Read CSV files into base R data frames, using the
zsv C parser as the backend.
zucsv is deliberately small: two exported functions, no R package
dependencies, and a bundled copy of the parser so there is nothing to install
and nothing to configure. The division of labour is the whole design —
zsv decides where rows and fields begin and end, zucsv decides what they
mean in R.
install.packages("zucsv")
Or the development version:
# install.packages("pak")
pak::pak("pedrobtz/zucsv")
library(zucsv)
path <- tempfile(fileext = ".csv")
writeLines(c(
"id,name,score,active",
"1,Ada,9.5,TRUE",
"2,Linus,8.0,FALSE",
"3,Grace,,TRUE"
), path)
df <- read_csv(path)
df
#> id name score active
#> 1 1 Ada 9.5 TRUE
#> 2 2 Linus 8.0 FALSE
#> 3 3 Grace NA TRUE
str(df)
#> 'data.frame': 3 obs. of 4 variables:
#> $ id : int 1 2 3
#> $ name : chr "Ada" "Linus" "Grace"
#> $ score : num 9.5 8 NA
#> $ active: logi TRUE FALSE TRUE
Types are inferred over logical, integer, double and character. Give
col_types to fix them instead — a value that will not convert is an error
rather than a silent NA:
read_csv(path, col_types = "character")
read_csv(path, col_types = c("integer", "character", "double", "logical"))
read_csv(path, col_types = "integer")
#> Error: Cannot parse row 2, column 2 ("name") as integer: "Ada"
Other delimiters need no separate function:
read_csv("data.tsv", delimiter = "\t")
read_csv("data.txt", delimiter = ";")
v0.1 reads local files and nothing else. There is no write_csv(), no URL or
connection input, no compressed files, no date parsing, no column selection,
no skip/n_max. See section 3 of zucsv-design.md for
the full list and the reasoning, and section 27 for what is likely to come
next.
These are decisions, not accidents, and each is pinned by a test:
""; a bare empty line is skipped." 42" is character, not a number.Faster than utils::read.csv() by 2.5–6.8× across shapes; slower than
data.table::fread(), which is multi-threaded and single-pass; comparable to
a fully materialised vroom, ahead of it on character-heavy data, wide
tables and small files. Numbers and method in
bench/RESULTS.md.
MIT. The bundled zsv sources are MIT, copyright Tai Chi Minh Ralph
Eastwood, Matt Wong, Guarnerix Inc dba Liquidaty and the zsv contributors;
see inst/COPYRIGHTS and src/vendor/zsv/UPSTREAM.