明明我的代码已经using PrettyTables并且Pkg里已经 add PrettyTables了,为什么一运行程序就会爆出no method of "pretty_table"这个错误?
看看函数参数对不
我是用pretty_table这个方法来显示JSON字符串,代码如下:
using JSON3
using PrettyTables
假设你有一个包含中文的 JSON 字符串
json_str = “”"
[
{“姓名”: “张三”, “年龄”: 30, “城市”: “北京”},
{“姓名”: “李四”, “年龄”: 25, “城市”: “上海”},
{“姓名”: “王五”, “年龄”: 35, “城市”: “深圳”}
]
“”"
解析 JSON 字符串
json_data = JSON3.read(json_str, Vector{Dict{String, Any}})
准备表格数据
table_data = [[entry[“姓名”], entry[“年龄”], entry[“城市”]] for entry in json_data]
设置表格列名
column_names = [“姓名”, “年龄”, “城市”]
使用 PrettyTables 显示表格
pretty_table(column_names, table_data; backend = :unicode_rounded)
这个pretty_table()的参数也不知道是哪里出了问题,问了AI也没有给我解决。报的错误是这样的:
ERROR: LoadError: MethodError: no method matching pretty_table(::Vector{String}, ::Vector{Vector{Any}}; backend::Symbol)
Closest candidates are:
pretty_table(::IO, ::Any; header, kwargs…)
@ PrettyTables C:\Users\user.julia\packages\PrettyTables\E8rPJ\src\print.jl:740
pretty_table(::Type{String}, ::Any; color, kwargs…)
@ PrettyTables C:\Users\user.julia\packages\PrettyTables\E8rPJ\src\print.jl:722
pretty_table(::Type{HTML}, ::Any; kwargs…)
@ PrettyTables C:\Users\user.julia\packages\PrettyTables\E8rPJ\src\print.jl:728
…
Stacktrace:
julia> tdf = DataFrame(table_data,column_names)
3×3 DataFrame
Row │ 姓名 年龄 城市
│ Any Any Any
─────┼──────────────────
1 │ 张三 李四 王五
2 │ 30 25 35
3 │ 北京 上海 深圳
julia> pretty_table(tdf,tf=tf_unicode_rounded)
╭──────┬──────┬──────╮
│ 姓名 │ 年龄 │ 城市 │
│ Any │ Any │ Any │
├──────┼──────┼──────┤
│ 张三 │ 李四 │ 王五 │
│ 30 │ 25 │ 35 │
│ 北京 │ 上海 │ 深圳 │
╰──────┴──────┴──────╯
你看的资料可能比较老