Python을 사용하여 Excel과 함께 사용하기 위해 fwf 텍스트를 .csv로 구문 분석

mcclayjr01

약 50,000 줄까지 실행할 수있는 텍스트 파일이 수정되었습니다.

 RECORD TRANSACTN       SEQUENCE    CR      R/T          ACCOUNT RSN               ITEM           ITEM CHN          USER    REASO
    NBR       NBR       OR PIC NBR  DB      NBR              NBR COD             AMOUNT         SERIAL IND  .......FIELD..  DESCR
  5,556        01        7450282689 C 538196640        9835177743 15          $9,064.81              00                    CREDIT
  5,557        01        7450282690 D 031301422         362313705 38            $592.35           43431                    DR CR
  5,558        01        7450282691 D 021309379         601298839 38          $1,491.04           44896                    DR CR
  5,559        01        7450282692 D 071108834            176885 38          $6,688.00            1454                    DR CR
  5,560        01        7450282693 D 031309123     1390001566241 38            $293.42            6878                    DR CR

 ************************************************************************************************************************************
 *                                                                                                                                  *
 *                                              PPPPPP  DDDDDD   CCCCC  K     K  #   #                                              *
 *                                              P     P D     D C     C K   K   #######                                             *
 *                                              P     P D     D C       K K      #   #                                              *
 *                                              PPPPPP  D     D C       KK       #   #                                              *
 *                                              P       D     D C       K K      #   #                                              *
 *                                              P       D     D C     C K   K   #######                                             *
 *                                              P       DDDDDD   CCCCC  K     K  #   #                                              *
 *                                                                                                                                  *
 *                                                                                                                                  *
 * START ******************************************************************************************************************** START *
 * START ******************************************************************************************************************** START *
 * START ******************************************************************************************************************** START *

파일 전체에서 이러한 행 그룹 사이에 임의의 행 브레이크와 헤더 정보가 있습니다. 나는 문자 "C"를 포함하는 행에만 관심이 있고 세 번째 열의 처음 두 숫자가 74 인 경우에만 관심이 있습니다. 각 값은 자체 셀에 있지만 서로 다른 스 플라이 싱 시도로 인해 최종 제품이 엉망처럼 보입니다. 첫 번째 행의 csv 모듈에 헤더를 작성했지만 그 아래의 실제 데이터는 파이썬이 던진 것처럼 보입니다.

지금까지 csv 모듈 내에서 접합을 시도하고 str.find (str, beg, end)를 사용했습니다. 내가 찾은 해결책이 특정 문제에 대해 효과가 있다고 생각하지만, 그것들을 하나의 실행 가능한 코드로 만들 수는 없습니다.

어떤 도움을 주시면 감사하겠습니다.

편집 : 지금까지 csv / codecs 모듈에 대한 코드는

import codecs
import csv


with codecs.open(r'C:\Users\John\Documents\ATM project\PDCKCR09R009_2017-08-03_1115.txt') as f, open('output.csv', 'w') as fout:
    writer = csv.writer(fout)
    writer.writerow([ 'TRANSACTN_NBR', 'RECORD_NBR', 
        'SEQUENCE_OR_PIC_NBR', 'CR_DB', 'RT_NBR', 'ACCOUNT_NBR', 
        'RSN_COD', 'ITEM_AMOUNT', 'ITEM_SERIAL', 'CHN_IND', 
        'REASON_DESCR', 'SEQ2', 'ARCHIVE_DATE', 'ARCHIVE_TIME', 'ON_US_IND' ])



    for line in f:
        #f.extend(line.splitlines())
        if 'C' in line:
           #temp.append(line) 
           print(line)
        else:
            print('WRONG LINE:', (line))

나는 다음 요구 사항으로 넘어 가기 전에 작업 세그먼트를 갖기 위해 하나씩 노력하고 있지만 다른 벽에 부딪힌 것 같습니다. 이 양식의 다른 솔루션이 도움이되었지만 내 코드에 적용하는 데 문제가 있습니다.

제 졸로

나는 이것을 위해 갈 것입니다 csv:

#!/usr/bin/env python

with open('./data.txt') as f:
    for line in f:
        values = line.split()  # this splits your line using spaces as delimiter, like in your data
        if (len(values) >= 4 and values[3] == 'C'
            and len(values[2]) >= 2 and values[2][:2] == '74'):
            print(line)
        else:
            print('WRONG LINE: ' + line)

질문의 데이터로 출력 :

  5,556        01        7450282689 C 538196640        9835177743 15          $9,064.81              00                    CREDIT

WRONG LINE:   5,557        01        7450282690 D 031301422         362313705 38            $592.35           43431                    DR CR

WRONG LINE:   5,558        01        7450282691 D 021309379         601298839 38          $1,491.04           44896                    DR CR

WRONG LINE:   5,559        01        7450282692 D 071108834            176885 38          $6,688.00            1454                    DR CR

WRONG LINE:   5,560        01        7450282693 D 031309123     1390001566241 38            $293.42            6878                    DR CR

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Parsec과 함께 누산기를 사용하여 Haskell 구문 분석

분류에서Dev

Jsoup을 사용하여 개별 요소에 대한 텍스트를 얻기 위해 HTML 구문 분석

분류에서Dev

Regex를 사용하여 Python에서 로그 텍스트 구문 분석

분류에서Dev

popen을 사용하여 stdout과 함께 stderr 인라인 구문 분석

분류에서Dev

if 조건과 함께 import minidom을 사용하여 XML 구문 분석

분류에서Dev

중첩 된 "목록"과 함께 .NET deserialize ()를 사용하여 JSON 구문 분석

분류에서Dev

여러 구분 기호를 사용하여 txt 파일을 Excel로 구문 분석

분류에서Dev

값 범위 및 텍스트 구문 분석을 사용하여 vlookup 결과 내에서 검색

분류에서Dev

Python과 sax를 사용하여 여러 요소로 XML 구문 분석

분류에서Dev

strpos를 사용하여 문자열을 구문 분석하여 텍스트를 반대로 찾습니다.

분류에서Dev

Java 스트림을 사용하여 JsonArray 결과 구문 분석

분류에서Dev

스캐너를 사용하여 텍스트 파일을 두 부분으로 구문 분석하는 방법

분류에서Dev

조건과 함께 ngFor를 사용하여 쉼표로 구분 된 문자열?

분류에서Dev

bash / python을 사용하여 텍스트 구문 분석

분류에서Dev

Python을 사용하여 텍스트 파일 구문 분석

분류에서Dev

Python을 사용하여 빈도 분포 플롯을위한 중첩 행 텍스트 문서 구문 분석

분류에서Dev

PHP를 사용하여 JSON이 포함 된 CSV 구문 분석

분류에서Dev

함수를 사용하여 char 배열을 배열로 구문 분석

분류에서Dev

Perl을 사용하여 텍스트 파일을 csv 파일로 구문 분석하는 방법

분류에서Dev

HTML을 텍스트로 사용하여 이메일 구문 분석

분류에서Dev

XML 구문 분석을 더 강력하게 사용하여 Excel 셀에서 취소 선 텍스트를 제거하려면 어떻게해야합니까?

분류에서Dev

Python을 사용하여 고유 한 패턴을 포함하는 텍스트 파일 구문 분석

분류에서Dev

Newtonsoft를 사용하여 이스케이프 문자를 포함하는 Json을 JsonObject로 구문 분석

분류에서Dev

URL을 찾기 위해 PHP로 텍스트 구문 분석

분류에서Dev

분기를 사용하여 타임 스탬프 문자열을 Python datetime으로 구문 분석

분류에서Dev

PHP를 사용하여 수평 행을 구문 분석하기 위해 json 객체를 반복

분류에서Dev

NSDateFormatter를 사용하여 NSString을 NSDate로 구문 분석

분류에서Dev

SQL Server를 사용하여 XML을 열로 구문 분석

분류에서Dev

PHP SimpleXMLElement를 사용하여 XML을 HTML로 구문 분석

Related 관련 기사

  1. 1

    Parsec과 함께 누산기를 사용하여 Haskell 구문 분석

  2. 2

    Jsoup을 사용하여 개별 요소에 대한 텍스트를 얻기 위해 HTML 구문 분석

  3. 3

    Regex를 사용하여 Python에서 로그 텍스트 구문 분석

  4. 4

    popen을 사용하여 stdout과 함께 stderr 인라인 구문 분석

  5. 5

    if 조건과 함께 import minidom을 사용하여 XML 구문 분석

  6. 6

    중첩 된 "목록"과 함께 .NET deserialize ()를 사용하여 JSON 구문 분석

  7. 7

    여러 구분 기호를 사용하여 txt 파일을 Excel로 구문 분석

  8. 8

    값 범위 및 텍스트 구문 분석을 사용하여 vlookup 결과 내에서 검색

  9. 9

    Python과 sax를 사용하여 여러 요소로 XML 구문 분석

  10. 10

    strpos를 사용하여 문자열을 구문 분석하여 텍스트를 반대로 찾습니다.

  11. 11

    Java 스트림을 사용하여 JsonArray 결과 구문 분석

  12. 12

    스캐너를 사용하여 텍스트 파일을 두 부분으로 구문 분석하는 방법

  13. 13

    조건과 함께 ngFor를 사용하여 쉼표로 구분 된 문자열?

  14. 14

    bash / python을 사용하여 텍스트 구문 분석

  15. 15

    Python을 사용하여 텍스트 파일 구문 분석

  16. 16

    Python을 사용하여 빈도 분포 플롯을위한 중첩 행 텍스트 문서 구문 분석

  17. 17

    PHP를 사용하여 JSON이 포함 된 CSV 구문 분석

  18. 18

    함수를 사용하여 char 배열을 배열로 구문 분석

  19. 19

    Perl을 사용하여 텍스트 파일을 csv 파일로 구문 분석하는 방법

  20. 20

    HTML을 텍스트로 사용하여 이메일 구문 분석

  21. 21

    XML 구문 분석을 더 강력하게 사용하여 Excel 셀에서 취소 선 텍스트를 제거하려면 어떻게해야합니까?

  22. 22

    Python을 사용하여 고유 한 패턴을 포함하는 텍스트 파일 구문 분석

  23. 23

    Newtonsoft를 사용하여 이스케이프 문자를 포함하는 Json을 JsonObject로 구문 분석

  24. 24

    URL을 찾기 위해 PHP로 텍스트 구문 분석

  25. 25

    분기를 사용하여 타임 스탬프 문자열을 Python datetime으로 구문 분석

  26. 26

    PHP를 사용하여 수평 행을 구문 분석하기 위해 json 객체를 반복

  27. 27

    NSDateFormatter를 사용하여 NSString을 NSDate로 구문 분석

  28. 28

    SQL Server를 사용하여 XML을 열로 구문 분석

  29. 29

    PHP SimpleXMLElement를 사용하여 XML을 HTML로 구문 분석

뜨겁다태그

보관