【发布时间】:2020-05-07 19:18:40
【问题描述】:
我在将 .dat 文件读入数据框时遇到问题。我认为问题在于分隔符。我已经包含了文件中数据的屏幕截图,如下所示。我最好的猜测是它在列之间用制表符分隔,然后在行之间用换行符分隔。我尝试使用以下命令读取数据:
df = CSV.File("FORCECHAIN00046.dat"; header=false) |> DataFrame!
df = CSV.File("FORCECHAIN00046.dat"; header=false, delim = ' ') |> DataFrame!
无论哪种方式,我的结果都只是一个 DataFrame,其中只有一列,包括连接成一个字符串的每一列的所有数据。我什至尝试使用以下代码指定类型:
df = CSV.File("FORCECHAIN00046.dat"; types=[Float64,Float64,Float64,Float64,
Float64,Float64,Float64,Float64,Float64,Float64,Float64,Float64]) |> DataFrame!
我收到以下错误:
┌ Warning: 2; something went wrong trying to determine row positions for multithreading; it'd be very helpful if you could open an issue at https://github.com/JuliaData/CS
V.jl/issues so package authors can investigate
我可以通过将其上传到谷歌表格然后下载 csv 来解决此问题,但我想找到一种方法来使原始 .dat 文件正常工作。
【问题讨论】:
-
你试过
delim=' ', ignorerepeated=true吗? -
可能无法正常工作,因为其中似乎也存在前导空格
-
如果
ignorerepeated=true,前导和尾随空格应该不是问题