我刚刚在装有 Python 3.7 的 Windows 笔记本电脑上尝试了来自该站点的 copybook 解析器。错误消息是:
Traceback (most recent call last):
File "test3.py", line 3, in <module>
root = copybook.parse_file(filename)
File "C:\Users\jyuan\AppData\Roaming\Python\Python37\site-packages\copybook\copybook.py", line 10, in parse_file
result:FieldGroup = stmt.parseFile(filename,parseAll=True)
File "C:\Users\jyuan\AppData\Roaming\Python\Python37\site-packages\pyparsing.py", line 2585, in parseFile
raise exc
File "C:\Users\jyuan\AppData\Roaming\Python\Python37\site-packages\pyparsing.py", line 4975, in parseImpl
raise ParseException(instring, loc, self.errmsg, self)
pyparsing.ParseException: No match found for Combine:({{{{LineStart " "} W:( *)} [<SP><TAB><CR><LF>]...} "01"}), found '3' (at char 0), (line:1, col:1)
我的代码只有几行:
import copybook
filename = 'test1.TXT'
root = copybook.parse_file(filename)
print('\n --- Finished. ---')
我的字帖内容是这样的:
******************* DDS COPYLIB GENERATION ******************
* Segment name : AMSAM32
**************************************************************
05 AM32-ACCT-DISPUTE-INFO.
10 AM32-SEGMENT-LENGTH PIC S9(4) COMP.
10 AM32-DISPUTE-SEGMENT-KEY.
15 AM32-DATE-DISPUTE-ENTRY PIC S9(7) COMP-3.
15 AM32-TIME-DISPUTE-ENTRY PIC S9(7) COMP-3.
10 AM32-DISPUTE-SEGMENT-INFO.
15 AM32-DISPUTE-CASE-TRACKING-NUM PIC 9(6).
15 AM32-DISPUTE-TYPE PIC X(3).
15 AM32-FCHG-BYP-IND PIC X(1).
88 AM32-FCHG-BYP-YES VALUE 'Y'.
88 AM32-FCHG-BYP-NO VALUE 'N'.
88 AM32-FCHG-BYP-DEBIT VALUE 'D'.
15 FILLER PIC X(2).
15 AM32-DISPUTE-PEND-REASON-CODE PIC X(2).
15 AM32-DISPUTE-OPERATOR PIC X(6).
15 AM32-OPER-LAST-WORKED PIC X(6).
15 AM32-ACCOUNT-NUMBER PIC X(19).
15 AM32-REFERENCE-NUMBER PIC X(23).
15 AM32-TRANSACTION-DESCRIPTION PIC X(41).
15 AM32-MERCHANT-DESCRIPTION REDEFINES
AM32-TRANSACTION-DESCRIPTION.
20 AM32-MERCHANT-DBA-NAME PIC X(25).
20 AM32-MERCHANT-DBA-CITY PIC X(13).
20 AM32-MERCHANT-DBA-STATE PIC X(3).
15 AM32-MERCHANT-DBA-COUNTRY PIC X(3).
15 AM32-CREDIT-ISSUED PIC X(1).
88 AM32-CREDIT-ISSUED-YES VALUE 'Y'.
88 AM32-CREDIT-ISSUED-NO VALUE 'N'.
15 AM32-DEBIT-CREDIT-FLAG PIC X(1).
88 AM32-DEBIT-ITEM VALUE 'D'.
88 AM32-CREDIT-ITEM VALUE 'C'.
15 AM32-RESOLVE-STATUS PIC X(1).
88 AM32-DISPUTE-NOT-RESOLVED VALUE SPACE.
88 AM32-RESOLVED-CUST-FAVOR VALUE 'C'.
88 AM32-RESOLVED-ISSUER-FAVOR VALUE 'I'.
15 AM32-RESOLVE-ACTIONS PIC X(4).
15 AM32-DECISION-BY-OPERATOR PIC X(6).
15 AM32-CORRESP-ID PIC X(6).
15 AM32-ACTION-CODE PIC X(2).
15 AM32-RESULT-CODE PIC X(2).
15 AM32-TRNS-ACCT-FUNC PIC X(3).
15 AM32-DISP-ENTIRE-BALANCE-FLAG PIC X(1).
88 AM32-DISP-ENTIRE-BALANCE-YES VALUE 'Y'.
15 AM32-PS2000-TRAN-ID PIC X(15).
15 AM32-BANKNET-REF-NUMBER REDEFINES
AM32-PS2000-TRAN-ID PIC X(9).
15 FILLER PIC X(10).
15 AM32-MERCHANT-CATEGORY-CODE PIC 9(4).
15 AM32-TRANSACTION-CODE PIC 9(4).
15 AM32-TRANSACTION-CATEGORY PIC 9(4).
15 AM32-TRAN-MARK-UP-AMT PIC S9(07)V9(2)
COMP-3.
15 AM32-ACCT-CNCY PIC X(3).
15 AM32-DISPUTE-TEXT PIC X(30).
15 AM32-NETWORK-SOURCE PIC X(1).
15 AM32-PVSNL-CR-GL-ACCT-NUM PIC S9(5) COMP-3.
15 AM32-BKDATE-EFFECT-DATE PIC S9(7) COMP-3.
15 AM32-DATE-DISPUTE PIC S9(7) COMP-3.
15 AM32-AMT-DISPUTE PIC S9(11)V9(2)
COMP-3.
15 AM32-DATE-MAIL-STAMP PIC S9(7) COMP-3.
15 AM32-DATE-DISPUTE-SETTLED PIC S9(7) COMP-3.
15 AM32-DATE-DISPUTE-PEND-EXPIRE PIC S9(7) COMP-3.
15 AM32-TIME-DISPUTE-PEND-EXPIRE PIC S9(7) COMP-3.
15 AM32-DISPUTE-TRANSACTION-KEY.
20 AM32-CDATE-STMT-BEGIN PIC S9(7) COMP-3.
20 AM32-DATE-POST PIC S9(7) COMP-3.
20 AM32-TIME-POST PIC S9(7) COMP-3.
15 AM32-DATE-LAST-WORKED PIC S9(7) COMP-3.
15 AM32-DATE-TRANSACTION PIC S9(7) COMP-3.
15 AM32-AMT-TRANSACTION PIC S9(11)V9(2)
COMP-3.
15 AM32-CENTRAL-PROC-DATE PIC S9(7) COMP-3.
我想知道:
- 这个模块是否支持这个字帖?
- 我是否需要编辑字帖才能使其正常工作?我添加了行号作为测试,我得到了同样的错误。