QQ扫一扫联系
CSV是一种通用的、相对简单的文件格式。
百科是这样解释的:
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。
开发过程中,我们可能需要导出一些数据,便于分析。
在Unity编辑器可以这样实现:
/********* 导出文件 *********/ using System; using System.IO; using System.Text; using UnityEditor; using UnityEngine; public static class ReferenceFinder { [MenuItem("Assets/导出依赖文件路径")] public static void OutPutInfo() { //打印执行耗时 System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); //计时开始 stopwatch.Start(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("点击的被查询的文件,引用的文件"); //点击文件查询引用关系 foreach (var guid in Selection.assetGUIDs) { string path = AssetDatabase.GUIDToAssetPath(guid); stringBuilder.AppendLine($"{path},"); foreach (var dependencies in AssetDatabase.GetDependencies(path)) { if (dependencies!=path) { stringBuilder.AppendLine($",{dependencies}"); } } } //导出资源路径适配双端(Mac 和 Windows) #if UNITY_EDITOR_OSX string outputFolderPath = Application.dataPath + "/../OutPut"; #else string outputFolderPath = Application.dataPath + "\\..\\OutPut"; #endif //输出文件地址拼接 string outputPath = Path.Combine(outputFolderPath,$"dependencies_{DateTime.Now.ToString("yyyyMMddHHmmss")}.CSV"); //创建目录导出文件 Directory.CreateDirectory(outputFolderPath); File.WriteAllText(outputPath, stringBuilder.ToString(),Encoding.UTF8); //计时结束,打印耗时 stopwatch.Stop(); double seconds = stopwatch.Elapsed.TotalMilliseconds; Debug.Log($"整个流程耗时 {seconds} 毫秒。。。"); //打开导出的CSV文件 Application.OpenURL(outputPath); } }