优化解析文本文件,然后上传到Excel [关闭]

问题描述 投票:-2回答:1

我的项目是获取大量日志,在文本文件中输出并解析一些要制作成Excel格式的数据。

不需要之间有很多垃圾数据

这是它的一部分是这样的:

2018-05-17 07:16:57.105>>>>>>
{"status":"success", "statusCode":"0", "statusDesc":"Message Processed Sucessfully", "messageNumber":"451", "payload":{"messageCode":"SORTRESPONSE","Id":"5L","Id":"28032","messageTimestamp":"2018-05-16 23:16:55"}}

我首先需要在“{}”之前取时间戳,因为它与消息Timestamp不同

生成excel工作簿时这是它在Excel中的样子:

------A-----------------------------------B--------------C

1. Overall time stamp ---------- status------- statusCode 

2. 2018-05-17 07:16:57.105   - success --- -0

等等...

有效负载在其“{}”中有自己的日志部分

所以它在excel中的部分看起来像这样:

  F

1. payload
2. {"messageCode":"SORTRESPONSE","Id":"5L","Id":"28032","messageTimestamp":"2018-05-16 23:16:55"}

它的内容可以在一个不是问题的部分。

我的一个朋友已经做了类似的事情,但甚至可能需要几分钟甚至生成一个相对较小的excel文档

我的问题:

什么是最佳方法,我可以解析所需的数据,然后将其存储在数组或多维数组中

然后将其推入excel文档。

c# excel text-files text-parsing string-parsing
1个回答
0
投票

我会尝试在换行符上拆分输入文本,然后使用Newtonsoft.Json解析JSON部分。

我强烈建议不要自己解析JSON。这里的瓶颈是磁盘IO而不是内存处理,因此可以轻松编写正确的代码并使用第三方库。

一旦您有表示输入的结构化数据,您就可以将每个条目写入输出文件,只包含您需要的字段。

对于Excel文件,CSV是否正常或您是否需要XLSX文件?对于CSV,您可以直接写入文件,对于XLSX,我会推荐EPPlus库。

https://www.newtonsoft.com/json

https://archive.codeplex.com/?p=epplus

© www.soinside.com 2019 - 2024. All rights reserved.