Как отобразить / отслеживать хвост растущего файла CSV в табличном формате?

1890
yosh m

Я ищу способ отображения открытого, «живого» файла CSV в Windows 7. Например, у меня запущена проприетарная программа, которая генерирует данные журнала в формате CSV. Я хотел бы следить за тем, что он записывает, пока он работает (только для чтения - нет необходимости / желания редактировать или изменять файл).

В идеале я хочу:

  1. отображать данные в табличном формате в окне (как в Excel - но я не хочу использовать Excel - это не то же самое, что этот вопрос )
  2. распознать первую строку с заголовками столбцов, которые будут использоваться в качестве статической строки заголовка.
  3. при необходимости прокрутите файл по вертикали.
  4. автообновление, то есть обнаружение новых строк и отображение новых строк в нижней части окна.
  5. автопрокрутка, чтобы показать новую строку, если я расположен внизу
  6. обрабатывать широкие столы (горизонтальная прокрутка).
  7. выберите столбцы для отображения (хорошо, но не обязательно)

Чтобы решить эту проблему, я рассмотрел ряд программ для редактирования и просмотра файлов CSV, в том числе редактор Рона, CSVed и средство просмотра файлов CSV от nirsoft .

Первые два слишком тяжелые и имеют функциональность и беспорядок, которые мне не интересны (например, редактирование) - и в них отсутствует функция автообновления. Инструмент Nirsoft почти идеален. Но в нем есть только «автообновление», при котором весь файл снова и снова читается и перемещается вверх - когда я хочу остаться там, где я был, или автоматическая прокрутка, если я внизу.

Я также взглянул на baretail, но, похоже, он не предназначен для работы с CSV-файлами.

Что касается размера файла - хорошо, если решение может обрабатывать огромные файлы, но я также буду рад, если оно сможет обрабатывать всего несколько мегабайт.

Любые предложения о том, как сделать то, что мне нужно?

2
Дорогие друзья SU. Я не уверен, почему это не по теме - похоже, что это похоже на другие вопросы (хотя и с конкретной необходимостью). В любом случае, можете ли вы порекомендовать место, куда его можно переспросить или перенести, пожалуйста? Благодарю. yosh m 11 лет назад 0
Это не по теме, потому что он ищет ** исключительно ** для рекомендации программного обеспечения, а не для решения проблемы. Все сайты в Stack Exchange работают одинаково, так как они не поощряют вопросы, которые просто задают «рекомендовать продукт, который делает X». Не стесняйтесь использовать [этот мета-пост] (http://meta.superuser.com/a/5373/47225) для помощи в перефразировании вопроса. KronoS 11 лет назад 1
Привет @ yosh-m, я могу понять, что может быть непонятно, почему что-то было закрыто. К сожалению, закрытый процесс голосования на самом деле не побуждает избирателей дать четкую причину. В этом случае ваш вопрос был закрыт, потому что он отвечает не по теме требованиям, определенным в FAQ. А именно, не «просить покупки или рекомендации продукта». Они были установлены создателями группы, поэтому мы не имеем большого влияния там. Я предлагаю попробовать задать это в [Переполнение стека] (http://stackoverflow.com). Julian Knight 11 лет назад 1
Спасибо, KronoS и JulianKnight, я последовал вашему совету и перефразировал вопрос - надеюсь, он будет вновь открыт. Если нет, я думаю, что я попробую StackOverflow, как вы предложили. Благодарю. yosh m 11 лет назад 0
Вопрос: Перефразировав мой вопрос, чтобы, я надеюсь, удовлетворить требования - должен ли я ждать / просить, чтобы он был вновь открыт, или это правильная процедура для повторной публикации в его перефразированной форме? yosh m 11 лет назад 0
Не публикуйте его повторно (пока). Если он не открывается здесь, вы можете попросить модератора (пометив его) переместить его в Переполнение стека. TFM 11 лет назад 0

1 ответ на вопрос

1
yosh m

Today I checked in on the tool by Nirsoft, CSV File Viewer. The newest version of the tool, 1.75, has added most of the feature I was seeking:

Version 1.75:

  • Added 'Partial Refresh' option (Ctrl+F5), which makes a smooth refresh, without reloading the entire table. However, Partial Refresh will not work properly if you add/remove columns or change their position.
  • Added 'Auto Refresh Mode' which allows you to choose how to refresh when the 'Auto Refresh' option is turned on - Partial Refresh or Full refresh.

I tried the new version & it does work as advertised. I wish it automatically kept the end of file in view, but it does not - pressing the End key brings it quickly back into view. Maybe I'll write an AutoHotKey macro to automatically press End every few seconds for me to get the rest of the functionality I want.

I also tried removing viewed columns while it was auto-partial-refreshing - despite the warning noted above, it continued to work fine.

EDIT: 2013-05-21 Checked back again today and I see Nirsoft has added the "auto-scroll to end on update" function that I was looking for - it was added in version 1.76 - current version of 1.80.

Похожие вопросы