作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只有部分解决方案
data = split.(readlines(file))
a = map(x -> x[1],data)
b = map(x -> x[2],data)
c = map(x -> x[3],data)
d = map(x -> x[4],data)
e = map(x -> x[5],data)
f = map(x -> x[6],data)
但仅当所有输入行都包含完整的预期单词数时,它才有效。不幸的是,行可以更短,我想用空字符串“”或一些原生的 Julia 优点来填充缺失值的“空词”。
可以看出,我是 Julia 新手。
谢谢
最佳答案
这是一个如何做到这一点的示例(我添加了注释和解释):
julia> str = """
a b c
a b
a b c d
a
a b c d e
""" # source data
"a b c\na b\na b c d\na\na b c d e\n"
julia> data = split.(readlines(IOBuffer(str))) # use IOBuffer to turn string into file-like object
5-element Vector{Vector{SubString{String}}}:
["a", "b", "c"]
["a", "b"]
["a", "b", "c", "d"]
["a"]
["a", "b", "c", "d", "e"]
julia> res = fill("", length(data), maximum(length, data)) # pre-fill matrix with "" as you requested - this should probably be easiest for you to work with
5×5 Matrix{String}:
"" "" "" "" ""
"" "" "" "" ""
"" "" "" "" ""
"" "" "" "" ""
"" "" "" "" ""
julia> foreach(((out, in),) -> copyto!(out, in), zip(eachrow(res), data)) # fill each row of res with consecutive elements of data using copyto!
julia> res # the result you wanted is now in res
5×5 Matrix{String}:
"a" "b" "c" "" ""
"a" "b" "" "" ""
"a" "b" "c" "d" ""
"a" "" "" "" ""
"a" "b" "c" "d" "e"
如有不清楚的地方请评论。因此,您将得到一个矩阵,其每一行都是源数据的行。
按键操作的更高级模式是:
foreach(Base.splat(copyto!), zip(eachrow(res), data))
如果您都不清楚,您也可以选择双循环,例如:
for i in 1:length(data)
row = data[i]
for j in 1:length(row)
res[i, j] = row[j]
end
end
关于julia - 扫描文本文件每行最多 N 个单词,用 Julia 中的单词列和行填充数组。事先不知道字数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73572429/
嘿,我有一个任意的 SQL 查询。从这个查询开始,我想知道这个查询将访问或更改哪些表。可能定义了一些函数或触发器,这些函数或触发器还会更改查询中声明的表之外的其他表。 我考虑过创建一个不同的 mysq
我是一名优秀的程序员,十分优秀!