Windows 10环境下如何将.realm文件转换为JSON/CSV格式?
嘿,我来帮你搞定在Windows 10上把.realm文件转成JSON、CSV这类格式的事儿,这里有几个实用的方法,覆盖了从命令行到代码再到GUI工具的场景,你可以根据自己的需求选:
方法1:用Realm官方命令行工具(realm-cli)
这是最官方的方案,操作简单,不需要写代码:
- 首先得先安装Node.js(Windows上直接下载安装包按默认步骤安装即可),然后打开命令提示符(CMD)或者PowerShell,运行
npm install -g realm-cli来安装Realm命令行工具 - 导航到你的.realm文件所在的文件夹,比如
cd C:\Users\你的用户名\Desktop\Realm文件 - 导出为JSON:运行命令
realm-cli export --input 你的文件名.realm --output 输出文件名.json --format json - 导出为CSV:CSV需要指定要导出的集合(也就是数据库里的表名),命令是
realm-cli export --input 你的文件名.realm --output 输出文件名.csv --format csv --collection "你的集合名"
小提示:要是不知道集合名,可以先运行realm-cli list-collections --input 你的文件名.realm查看数据库里所有的表
方法2:用Python脚本(自定义性强,适合复杂数据)
要是你需要对导出的数据做一些自定义处理(比如扁平化嵌套对象、过滤特定数据),Python脚本是最佳选择:
- 先安装Realm的Python库,打开CMD/PowerShell运行
pip install realm - 新建一个文本文件,把下面的代码粘进去,保存为
realm_converter.py,记得替换里面的文件名和集合名:
import realm import json import csv # 打开目标Realm数据库 db = realm.open("你的文件名.realm") # 导出为JSON with open("output.json", "w", encoding="utf-8") as json_file: # 获取指定集合的所有数据,替换成你的集合名 collection_data = list(db["你的集合名"].all()) # 导出JSON,indent=4让格式更美观,default=str处理日期等特殊类型 json.dump(collection_data, json_file, indent=4, default=str) # 导出为CSV with open("output.csv", "w", newline="", encoding="utf-8") as csv_file: writer = csv.writer(csv_file) collection = db["你的集合名"] # 提取集合的字段作为CSV表头 headers = [prop.name for prop in collection.schema.properties] writer.writerow(headers) # 逐行写入数据 for item in collection.all(): row = [getattr(item, prop) for prop in headers] writer.writerow(row) # 关闭数据库连接 db.close()
- 运行脚本:在CMD/PowerShell里导航到脚本所在文件夹,运行
python realm_converter.py就行
方法3:第三方本地GUI工具(适合不想碰命令行和代码的用户)
如果你完全不想写代码或者敲命令,可以找一些开源的本地Realm可视化工具,这类工具一般支持直接将数据库内容导出为JSON或CSV格式,而且都是本地运行,不用上传文件,安全性有保障。比如你可以找带导出功能的Realm桌面浏览器,操作起来和Realm Studio类似,但支持更多导出格式。
一些注意事项
- 导出前确保你的.realm文件没有被其他程序占用(比如手机应用还在后台连接这个文件),不然可能会导出失败
- 如果你的Realm数据库是加密的,不管用哪种方法,都需要提供加密密钥才能访问数据,命令行工具和Python脚本都有对应的参数可以指定密钥(比如命令行加
--encryption-key参数) - 导出CSV时,如果数据库里有嵌套对象,默认导出的是对象的字符串表示,要是需要扁平化处理,建议用Python脚本自定义逻辑
内容的提问来源于stack exchange,提问作者Lukas Strobel
相关产品推荐
相关产品推荐

