将 lua 文件转换为 csv、tsv 或任何 Excel 数据库文件
2022-1-24 15:28:16
收藏:0
阅读:285
评论:1
我有一个 lua 文件,它是一个记录我在《魔兽世界》游戏中所有袭击的数据库。它由游戏中的一个插件生成,包含有关哪个玩家以哪个价格获得了哪些战利品的信息。 像这样:
GDKPd_PotData = {
["playerBalance"] = {
},
["curPotHistory"] = {
},
["history"] = {
{
["date"] = "Thu Apr 29 14:54:21 2021",
["note"] = false,
["items"] = {
{
["bid"] = 225,
["item"] = "|cffa335ee|Hitem:19866::::::::60:::::::|h[Hakkari 战刃]|h|r",
["name"] = "Brighht",
}, -- [1]
{
["bid"] = 50,
["item"] = "|cff0070dd|Hitem:19907::::::::60:::::::|h[Zulian 虎皮披风]|h|r",
["name"] = "Treasuredon",
}, -- [2]
{
["bid"] = 50,
["item"] = "|cffa335ee|Hitem:19897::::::::60:::::::|h[背叛者的靴子]|h|r",
["name"] = "Sassysis",
}, -- [3]
{
["bid"] = 50,
["item"] = "|cff0070dd|Hitem:19895::::::::60:::::::|h[染血短裙]|h|r",
["name"] = "Yabmage",
}, -- [4]
{
["bid"] = 180,
["item"] = "|cffa335ee|Hitem:19856::::::::60:::::::|h[Hakkar 之眼]|h|r",
["name"] = "Consti",
}, -- [5]
{
["bid"] = 100,
["item"] = "|cffa335ee|Hitem:19802::::::::60:::::::|h[Hakkar 之心]|h|r",
["name"] = "Consti",
}, -- [6]
{
["bid"] = 300,
["item"] = "|cff0070dd|Hitem:22637::::::::60:::::::|h[原始哈卡莱神像]|h|r",
["name"] = "Gnomepowah",
}, -- [7]
{
["bid"] = 220,
["item"] = "|cff0070dd|Hitem:22637::::::::60:::::::|h[原始哈卡莱神像]|h|r",
["name"] = "Lockbik",
}, -- [8]
{
["bid"] = 110,
["item"] = "|cffa335ee|Hitem:20725::::::::60:::::::|h[源质水晶]|h|r",
["name"] = "Aeto",
}, -- [9]
},
["size"] = 1285,
}, -- [1]
我的想法是将它转换为一个 Excel 文件,在其中创建统计信息和图形,并管理信息。
我查遍了整个网络,都找不到任何将 lua 转换为任何 Excel 文件格式(xls、csv、tsv)的程序
有没有人能给我一些最佳方法的建议呢?
原文链接 https://stackoverflow.com/questions/70836306
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
- 如何创建一个 lua 脚本以针对特定键为 fluentbit 进行限流
- 如何在Lua中将变量从Lua推送到C ++
CSV 和 TSV 基本上是相同的东西,只是使用不同的分隔符。
编写 .xls 或 .xlsx 文件会更加复杂。
如果你想使用 .xlsx,打开网页浏览器并输入 "lua xlsx" 进行搜索即可。例如,你可以找到 https://github.com/jmcnamara/xlsxwriter.lua。
-- -- xlsxwriter 模块的一些简单示例。 -- local Workbook = require "xlsxwriter.workbook" local workbook = Workbook:new("demo.xlsx") local worksheet = workbook:add_worksheet() -- 扩大第一列的宽度,使文本更加清晰。 worksheet:set_column("A:A", 20) -- 添加加粗格式,用于突出显示单元格。 local bold = workbook:add_format({bold = true}) -- 撰写简单的文本。 worksheet:write("A1", "Hello") -- 撰写具有格式的文本。 worksheet:write("A2", "World", bold) -- 撰写一些数字,使用行/列记号。 worksheet:write(2, 0, 123) worksheet:write(3, 0, 123.456) workbook:close()
写入 CSV 或 TSV 很简单。只需使用 Lua 的 io 库 将数值写入文件,并用逗号或制表符分隔它们即可。
这两种解决方案都需要使用几个 for 循环递归地遍历你的表格。