Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2011 04:34:42

TimeISA
От:
Зарегистрирован: 2011-12-08
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текстового файла

Есть большой текстовый файл от буха, нужно совершить поиск в нем по счету и скопировать из этой строки № документа сумма документа дата документа в другой файл, как это можно реализовать?



Офлайн

#2 Дек. 8, 2011 07:16:26

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Обработка текстового файла

приведи пример содержимого файла



Офлайн

#3 Дек. 8, 2011 07:54:55

TimeISA
От:
Зарегистрирован: 2011-12-08
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текстового файла

 Банк "XXX" (ЗАО)

Выписка лицевого счета 66666666666666666666
за период с 01.11.2011 по 30.11.2011
Валюта счета 810 RUR
Наменование ООО "MMA"
Сальдо на начало : 1,545,050.49
-----------------------------------------------------------------------------------------
Дата N Счет Вид Обороты счета
операции документа корреспондент операции Дебет Кредит
-----------------------------------------------------------------------------------------
01.11.2011 2509K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2510K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2512K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2513K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2514K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2515K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2516K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
01.11.2011 2517K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
11.11.2011 309 22222222222222222222 01 254,785.24
перечисление денежных средств по заявлению физических лиц согласно реестру
AB_03_20111111 от 11.11.2011 г., без НДС
ИТОГО оборотов за 11.11.2011 256,239.37 254,785.24
-----------------------------------------------------------------------------------------
14.11.2011 2605K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
14.11.2011 2606K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
14.11.2011 2607K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
14.11.2011 2608K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
14.11.2011 2595K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
14.11.2011 2609K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
14.11.2011 301 22222222222222222222 01 471,234.08
перечисление денежных средств по заявлению физических лиц согласно реестру
AB_03_20111114 от 14.11.2011 г., без НДС
ИТОГО оборотов за 14.11.2011 475,988.30 471,234.08
-----------------------------------------------------------------------------------------
15.11.2011 2610K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
15.11.2011 2611K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
15.11.2011 2613K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
15.11.2011 2614K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
15.11.2011 2615K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
15.11.2011 2615 66666666666666666666 01 10,000.00
Зачислить денежные средства по договору купли-продажи векселя 101822HkZbD11
от 12.11.2011 Без НДС. Эл.платеж FAKTURA.RU
15.11.2011 2613 66666666666666666666 01 20,000.00
Зачислить денежные средства по договору купли-продажи векселя 101818HkZbD11
от 11.11.2011 Без НДС. Эл.платеж FAKTURA.RU
15.11.2011 2611 66666666666666666666 01 40,000.00
Зачислить денежные средства по договору купли-продажи векселя 101815HkZbD11
от 10.11.2011 Без НДС. Эл.платеж FAKTURA.RU
15.11.2011 2614 66666666666666666666 01 40,000.00
Зачислить денежные средства по договору купли-продажи векселя 101819HkZbD11
от 11.11.2011 Без НДС. Эл.платеж FAKTURA.RU
15.11.2011 2610 66666666666666666666 01 50,000.00
Зачислить денежные средства по договору купли-продажи векселя 101812HkZbD11
от 10.11.2011 Без НДС. Эл.платеж FAKTURA.RU
15.11.2011 460 22222222222222222222 02 59,041.07
списание денежных средств в безакцептном порядке по кредитам и займам
физических лиц на основании п.3.4.1 Соглашений о поручительстве №11 от
14.07.2010 согласно реестру от 15.11.2011 без НДС
15.11.2011 301 22222222222222222222 01 211,909.14
перечисление денежных средств по заявлению физических лиц согласно реестру
AB_03_20111115 от 15.11.2011 г., без НДС
ИТОГО оборотов за 15.11.2011 219,141.07 211,909.14
-----------------------------------------------------------------------------------------
16.11.2011 2616K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
16.11.2011 2617K 11111111111111111111 17 20.00
Комиссия за расчётное обслуживание по системе Интернет-клиент согласно
Тарифов. Без НДС
И вот везде где встречаеться 11111111111111111111
нужно отдельно скопировать в отдельное место номер документа сумму документа и дату документа



Офлайн

#4 Дек. 8, 2011 09:44:35

plastun
От:
Зарегистрирован: 2011-01-18
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текстового файла

Так?

import sys

def main(args):
if len(args) < 2:
print 'USAGE: %s in_file' % args[0]
return 1

in_file = args[1]
out_file = open('out.txt', 'w')
for line in open(in_file):
if '11111111111111111111' in line:
out_file.write(' '.join(line.split()) + '\n')
out_file.close()


if __name__ == "__main__":
sys.exit(main(sys.argv))



Офлайн

#5 Дек. 8, 2011 10:17:51

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Обработка текстового файла

можно регексом выкусить строку:

print re.findall(r'^.+11111111111111111111.+$', open(in_file,'rb').read(), re.MULTILINE)

Отредактировано (Дек. 8, 2011 10:19:26)

Офлайн

#6 Дек. 9, 2011 01:38:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Обработка текстового файла

#!/usr/bin/env python3

number='11111111111111111111'

with open('file.txt', encoding='utf-8') as f:
for line in f:
if number in line:
parts = line.split()
if len(parts) == 5:
print(';'.join(parts))
[guest@localhost tests]$ ./t.py
01.11.2011;2509K;11111111111111111111;17;20.00
01.11.2011;2510K;11111111111111111111;17;20.00
01.11.2011;2512K;11111111111111111111;17;20.00
01.11.2011;2513K;11111111111111111111;17;20.00
01.11.2011;2514K;11111111111111111111;17;20.00
01.11.2011;2515K;11111111111111111111;17;20.00
01.11.2011;2516K;11111111111111111111;17;20.00
01.11.2011;2517K;11111111111111111111;17;20.00
14.11.2011;2605K;11111111111111111111;17;20.00
14.11.2011;2606K;11111111111111111111;17;20.00
14.11.2011;2607K;11111111111111111111;17;20.00
14.11.2011;2608K;11111111111111111111;17;20.00
14.11.2011;2595K;11111111111111111111;17;20.00
14.11.2011;2609K;11111111111111111111;17;20.00
15.11.2011;2610K;11111111111111111111;17;20.00
15.11.2011;2611K;11111111111111111111;17;20.00
15.11.2011;2613K;11111111111111111111;17;20.00
15.11.2011;2614K;11111111111111111111;17;20.00
15.11.2011;2615K;11111111111111111111;17;20.00
16.11.2011;2616K;11111111111111111111;17;20.00
16.11.2011;2617K;11111111111111111111;17;20.00
[guest@localhost tests]$



Офлайн

#7 Дек. 9, 2011 07:35:52

TimeISA
От:
Зарегистрирован: 2011-12-08
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка текстового файла

всем спасибо, все работает



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version