Я действительно новичок в Ruby и могу использовать некоторую помощь с программой. Мне нужно открыть почтовый файл, содержащий несколько текстовых файлов, имеет много строк данных (например.)Разбор Zip-файла и извлечение записей из текстовых файлов
CDI|3|3|20100515000000|20100515153000|2008|XXXXX4791|0.00|0.00
CDI|3|3|20100515000000|20100515153000|2008|XXXXX5648|0.00|0.00
CHO|3|3|20100515000000|20100515153000|2114|XXXXX3276|0.00|0.00
CHO|3|3|20100515000000|20100515153000|2114|XXXXX4342|0.00|0.00
MITR|3|3|20100515000000|20100515153000|0000|XXXXX7832|0.00|0.00
HR|3|3|20100515000000|20100515153000|1114|XXXXX0238|0.00|0.00
я сначала нужно извлечь почтовый файл, читать текстовые файлы, расположенные в файле почтового индекса и писать только полные строки, начинающиеся с CDI
и CHO
) с двумя выходными файлами, один для строк данных, начиная с CDI
, и один для строк данных, начиная с CHO
(в основном анализируя файл). Я должен сделать это с Ruby и, возможно, попытаться установить программу на автоматическую функцию для поступления непрерывных zip-файлов одинакового роста. Я полностью понимаю любой совет, руководство или помощь через какой-то образец, который может дать любой.
Большое спасибо. Есть ли что-нибудь, что я должен настроить, если файл zip при открытии имеет 6 отдельных текстовых файлов, все с данными, которые мне нужно выводить только с определенными строками? Я очень ценю всю вашу помощь до сих пор. Jay – user1487077
№ 'Zip :: ZipFile.foreach' фактически запускает код для каждой записи в zip-файле. Я использую этот метод для итерации по zip-файлу с несколькими тысячами записей. –
Примечание. Вышеприведенный код фактически не извлекает zip-файл. Он будет перебирать каждую запись, читать ее и анализировать содержимое без его извлечения. Если вам нужно сначала извлечь его, в библиотеке, к которой я привязан, есть метод. –