Data.table: fread рдЧрд▓рдд-рдЙрджреНрдзреГрдд рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдпрджрд┐ рдпрд╣ рдЖрдЙрдЯ-рдСрдл-рд╕реИрдВрдкрд▓ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреБрд▓ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: Rdatatable/data.table

рдпрд╣ рдЙрджрд╛рд╣рд░рдг:

require(data.table)
DT = data.table(A=rep("abc", 10000), B="def")
DT[110, A:='"a"b']
fwrite(DT, f<-tempfile(), quote=F)
fread(f)

рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рднреНрд░рд╛рдордХ рд╣реИ:

Expecting 2 cols but row 0 contains only 1 cols (sep=','). Consider fill=true. <<"a"b,def>>

рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрддрд╛ (рдЬреЛ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ type[0] CT_STRING рд╕реЗ рдПрдХ рдЧреИрд░-рдореМрдЬреВрдж рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдЯрдХрд░рд╛ рдЬрд╛рддрд╛ рд╣реИ) ...

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ ben519 рдЖрдкрдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рд╕рд┐рд░реНрдл 1 рдкрдВрдХреНрддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдЙрдЯ-рдСрдл-рд╕реИрдВрдкрд▓ рдЕрдирд┐рдпрдорд┐рддрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рд╣реИ (рдКрдкрд░ рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ)

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕рдВрднрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг:

  • рдирдпрд╛ рдЙрджреНрдзрд░рдг рдирд┐рдпрдо рдХреНрдпреВрдЖрд░0 рдкреЗрд╢ рдХрд░реЗрдВ (рдЕрдиреНрдп рд╕рднреА рдирд┐рдпрдо рдХреНрдпреВрдЖрд░1..рдХреНрдпреВрдЖрд░4 рдмрди рдЬрд╛рддреЗ рд╣реИрдВ)ред рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрдпреВрдЖрд░ рд╣реЛрдЧрд╛ред рдЗрд╕ рдирд┐рдпрдо рдХреЗ рддрд╣рдд, рдлрд╝реАрд▓реНрдб рдХреЛ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЖрдВрддрд░рд┐рдХ рдЙрджреНрдзрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, QR0 рдХреЗ рддрд╣рдд рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ: 1,foo,"","bar",,"baz,baz" , рдЬрдмрдХрд┐ рдпреЗ рдирд╣реАрдВ рд╣реИрдВ: "foo""bar","foo\"bar",foo"bar,f"oo,bar" ред
  • рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рддреЗ рд╕рдордп, рдпрджрд┐ рдХреЛрдИ рдлрд╝реАрд▓реНрдб STRING рдкреНрд░рдХрд╛рд░ рдХреА рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди QR рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирд╣реАрдВ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ:

    • рдпрджрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ QR0 рдкрд░ рд╣реИрдВ -- рдлрд╝реАрд▓реНрдб рдХреЛ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рддрдХ QR рдХреЛ рдЯрдХреНрдХрд░ рджреЗрдВ, рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ;

    • рдЕрдиреНрдпрдерд╛, рдХреНрдпреВрдЖрд░ рдХреЛ рдЯрдХреНрдХрд░ рджреЗрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рд╕рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝реАрд▓реНрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдХреИрди рдХрд░реЗрдВ (рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдкрдврд╝реЗ рдЧрдП рдбреЗрдЯрд╛ рдореЗрдВ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЕрд░реНрде рдмрджрд▓ рдЧрдпрд╛ рд╣реИ)ред

  • рдХреНрдпреВрдЖрд░ рдмрдореНрдкреНрд╕ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИрдВ: QR0 -> {QR1|QR2|QR3} -> QR4 ред

рдореИрдВ рдЗрд╕рдореЗрдВ рднреА рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред

screen shot 2017-11-03 at 1 59 52 pm

fread("foo.csv", select=c("Date", "Description", "Amount"), header = T)  # error
fread("foo.csv", header = T, verbose = F)  # works

screen shot 2017-11-03 at 1 59 03 pm

@ ben519 рдЖрдкрдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рд╕рд┐рд░реНрдл 1 рдкрдВрдХреНрддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдЙрдЯ-рдСрдл-рд╕реИрдВрдкрд▓ рдЕрдирд┐рдпрдорд┐рддрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рд╣реИ (рдКрдкрд░ рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ)

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jangorecki picture jangorecki  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mattdowle picture mattdowle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jameslamb picture jameslamb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tcederquist picture tcederquist  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pannnda picture pannnda  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ