我正在尝试将Julia数据框导出为CSV,并且其中不包含任何值。为了简化起见,假设我具有以下数据框:
using DataFrames, CSV
df = DataFrame(A = [nothing,2,3], B = [4,5,nothing])
当我尝试导出时,出现以下错误:
df |> CSV.write("df.csv")
ArgumentError: `nothing` should not be printed; use `show`, `repr`, or custom output instead.
我应该将虚无值转换为其他缺失值吗?如果是这样,我该如何编码?
答案 0 :(得分:4)
您可以使用something
函数将nothing
转换为您想要的任何内容(例如missing
),如下所示:
something.(df, missing) |> CSV.write("aaa.txt")
给出here的当前设计背后不支持nothing
的理由。
答案 1 :(得分:2)
我更喜欢CSV transform
参数的语法:
CSV.write("filename.csv", df, transform=(col, val) -> something(val, missing))
From the CSV.write documentation
将此作为单独的答案发布,希望在我遗漏重要内容时区分评论并进行澄清。