我正在寻找一种在 Windows 7 下显示打开的“实时”CSV 文件的方法。例如,我有一个专有程序正在运行,该程序正在生成 CSV 格式的日志数据。我想在它运行时关注它正在记录的内容(只读 - 不需要/不想编辑或更改文件)。
理想情况下,我希望:
- 在窗口中以表格形式显示数据(就像在 Excel 中一样 - 但我不想使用 Excel - 这与这个问题)
- 识别第一行带有列标题的行作为静态标题行。
- 如果需要,垂直滚动文件。
- 自动更新,即检测新行并在窗口底部显示新行。
- 如果我位于底部,则自动滚动显示新行
- 处理宽表(水平滚动)。
- 选择要显示的列(很好,但不是必需的)
为了解决这个问题,我研究了许多 CSV 文件编辑器和查看程序,包括Ron 的编辑,已 CSV以及 nirsoft 的CSV 文件查看器。
前两个太重,功能和杂乱我都不感兴趣(例如,编辑)——而且它们缺少自动更新功能。Nirsoft 的工具几乎完美。但它只有“自动刷新”,它会重新读取整个文件并重新定位到顶部——当我想停留在原来的位置或让它自动滚动到底部时。
我也看了 baretail,但它似乎不是设计用来处理 CSV 文件。
关于文件大小 - 如果解决方案可以处理大型文件就更好了,但如果它只能处理几兆字节的文件,我也会很高兴。
对于如何实现我需要的功能,有什么建议吗?
答案1
今天我查看了 Nirsoft 的工具, CSV 文件查看器。该工具的最新版本 1.75 添加了我想要的大部分功能:
版本 1.75:
- 添加了“部分刷新”选项(Ctrl+F5),可实现平滑刷新,而无需重新加载整个表。但是,如果您添加/删除列或更改其位置,部分刷新将无法正常工作。
- 添加了“自动刷新模式”,允许您选择打开“自动刷新”选项时如何刷新 - 部分刷新或完全刷新。
我试用了新版本,它确实像宣传的那样好用。我希望它能自动将文件结尾保持在视图中,但它没有——按下键End会将其快速返回视图中。也许我会写一个自动热键宏每隔几秒钟自动按下一次End即可获得我想要的其余功能。
我还尝试在自动部分刷新时删除查看的列 - 尽管出现了上述警告,但它仍能正常工作。
编辑:2013-05-21 今天再次检查,我发现 Nirsoft 添加了我正在寻找的“更新时自动滚动到结束”功能 - 它是在版本 1.76 中添加的 - 当前版本为 1.80。