加快renamecats /直言多个列
3视图(30天)
显示旧的评论
我有一个巨大的csv文件约16 gb / 9 k列。每一列最初充满了一些代码(整数或字符串),和我有一个代码书每一列的代码和意义。我想做的是翻译的表,最后有一个表可读的文本,而不是代码。
我可以使用分类或renamecats“翻译”,但问题是,需要substentially长时间循环这些列。我想如果有一种方法来加快解决。
看到下面一个例子
台([=表" a1 ",“b2”,“c3”,“d4”,“e5”)”,…
(“123”,“234”,“345”,“456”,“567”)”,…
“VariableNames”,{“一个”,“B”});
字典。([=表" a1 ",“b2”,“c3”,“d4”,“e5”)”,…
(“苹果”,“香蕉”,“猫”,“狗”,“elephont”)”,…
“VariableNames”,{“代码”,“意义”});
字典。([B =表“123”,“234”,“345”,“456”,“567”)”,…
(“东”,“西方”,“北”,“南”,“中间”)”,…
“VariableNames”,{“代码”,“意义”});
var = tbl.Properties.VariableNames;
为iC = 1:宽度(台)
台。(iC) =分类(台。(iC),字典。(var {iC}) .Code,…
字典。(var {iC}) .Meaning);
结束
是可以避免这个循环,或任何建议来加快(考虑到我有超过500 k行和9 k列)。
谢谢你!
0评论
答案(1)
剪秋罗属植物龙
2020年10月9日
你好,
看来你有
字典
代码的书,和你已经知道这组代码字段/名称的xxx
字典
(即你可以指定”
VariableNames
“在第一个表(…)调用)。
在这种情况下,为什么不开始创建表和分类:
台=表(分类([" a1 ";“b2”;“c3”;“d4”;“e5”),dictionary.A。代码,dictionary.A.Meaning),…
分类([“123”;“234”;“345”;“456”;“567”),dictionary.B。代码,dictionary.B.Meaning),…
“VariableNames”,{“一个”,“B”});
没有循环,更快和更可读。