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 Π’Π°Ρˆ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсоотвСтствий Π²Π½Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π― создал Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для вашСй ошибки (см. Бсылку Π²Ρ‹ΡˆΠ΅)

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

  • ВвСсти Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ квотирования QR0 (всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° становятся QR1..QR4). Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ QR ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’ соотвСтствии с этим ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ поля ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π½Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π½ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля допустимы Π² QR0: 1,foo,"","bar",,"baz,baz" , Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ: "foo""bar","foo\"bar",foo"bar,f"oo,bar" .
  • ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°, Ссли ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ STRING ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ QR-ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ:

    • Если ΠΌΡ‹ сСйчас находимся Π² QR0 - Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡ‚Π΅ QR, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ сканированиС Ρ„Π°ΠΉΠ»Π°;

    • Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π°ΠΆΠΌΠΈΡ‚Π΅ QR, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ просканируйтС всС строковыС поля (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ измСнилось Π² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹).

  • 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 Π’Π°Ρˆ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсоотвСтствий Π²Π½Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π― создал Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для вашСй ошибки (см. Бсылку Π²Ρ‹ΡˆΠ΅)

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ