2015-02-05 2 views
-2

Не могли бы вы помочь узнать, как выполнить обработку файлов в коде python, который имеет разный макет для каждой записи, и существует 3 типа макетов записей.Обработка файлов с различными форматами записей

Field-1 и 2 будет постоянным и может быть использован в качестве идентификатора записи и полей записи отделены друг от друга «» Разделитель -

Рекордно Тип записи структура

R1   ex - Id,Name1,Name2,Name3,Address{},Phones{} 
R2   ex - Id,Year,Make,Model,Length 
R3   ex - Id,Transactions{Trxn1,Trnx2,Trnx3,Trnx4} 
R2   ex - Id,Name1,Name2,Name3,Address{},Phones{} 
R2   ex - Id,Year,Make,Model,Length 
R1   ex - Id,Transactions{Trxn1,Trnx2,Trnx3,Trnx4} 

ответ

0

Ваш вопрос ужасно расплывчатым , но может начаться следующее:

Вы можете прочитать каждую строку файла в виде строки в цикле for, а затем использовать fields = line.split(','), чтобы разбить его на список значений переменной длины. После этого вы можете использовать значения fields[0] и fields[1], чтобы определить, с какой тиковой записью вы работаете, и обрабатывать оставшиеся значения полей по мере необходимости.

Вот код, показывающий, как обработка прочитанных строк из файла может быть сделано:

H2 = ['Id', 'Year', 'Make', 'Model', 'Length'] 

line = 'B42,2015,Ford,F-150,243.7' 

fields = line.split(',') 
record_id = fields[0][0] 

if record_id == 'A': 
    record = dict(zip(H1, fields)) 
    print('{Id}, {Name1}, {Name2}, {Name3}, {Address}, {Phones}'.format(**record)) 
elif record_id == 'B': 
    record = dict(zip(H2, fields)) 
    print('{Id}, {Year}, {Make}, {Model}, {Length}'.format(**record)) 
elif record_id == 'C': 
    pass # ... etc 

Выход:

B42, 2015, Ford, F-150, 243.7 
+0

Благодаря Мартино, {и} указывает на массив или список элементов , – Mp1

+0

Ну, похоже, что им потребуется некоторая специальная обработка, но снова вы предоставили достаточно информации для любого, кто поможет вам. Предложите вам написать код, основанный на моей схеме, и если вы застряли, задайте другой вопрос здесь. – martineau

+0

Можете ли вы помочь ниже: Как мы читаем файл, который содержит 5 различных записей компоновки/структуры и структуры/структуры идентификации на основе первого поля и применяет определенный заголовок или читает его с этим заголовком – Mp1

Смежные вопросы