如何使用Python从文本文件中提取数据?

如何使用Python从文本文件中提取数据?,python,Python,以下是示例文本: ACCESSION NUMBER: 0001054274-12-000001 CONFORMED SUBMISSION TYPE: D PUBLIC DOCUMENT COUNT: 1 ITEM INFORMATION: Rule 506 FILED AS OF DATE: 20120301 DATE AS OF CHANGE: 20120301 EFFECTIVENESS DATE:

以下是示例文本:

ACCESSION NUMBER:           0001054274-12-000001
CONFORMED SUBMISSION TYPE:  D
PUBLIC DOCUMENT COUNT:      1
ITEM INFORMATION:           Rule 506
FILED AS OF DATE:           20120301
DATE AS OF CHANGE:          20120301
EFFECTIVENESS DATE:         20120301

FILER:

COMPANY DATA:   
    COMPANY CONFORMED NAME:               Alliqua, Inc.
    CENTRAL INDEX KEY:                    0001054274
    STANDARD INDUSTRIAL CLASSIFICATION:   SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]
    IRS NUMBER:                           582349413
    STATE OF INCORPORATION:               FL
    FISCAL YEAR END:                      1220A

我正在尝试提取所有的变量登录号,符合提交类型,会计年度结束,并最终将其写入.csv文件。有什么建议吗?

我会按第一条将这些线分开:并将结果去掉:

data = {}
with open(filename) as inputf:
    for line in inputf:
        if not ':' in line:
            continue
        label, value = map(str.strip, line.split(':', 1))
        if label and value:
            data[label] = value
输出以下映射:

{'ACCESSION NUMBER': '0001054274-12-000001',
 'CENTRAL INDEX KEY': '0001054274',
 'COMPANY CONFORMED NAME': 'Alliqua, Inc.',
 'CONFORMED SUBMISSION TYPE': 'D',
 'DATE AS OF CHANGE': '20120301',
 'EFFECTIVENESS DATE': '20120301',
 'FILED AS OF DATE': '20120301',
 'FISCAL YEAR END': '1220A',
 'IRS NUMBER': '582349413',
 'ITEM INFORMATION': 'Rule 506',
 'PUBLIC DOCUMENT COUNT': '1',
 'STANDARD INDUSTRIAL CLASSIFICATION': 'SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]',
 'STATE OF INCORPORATION': 'FL'}

欢迎来到堆栈溢出!看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是,包括您迄今为止编写的代码、示例输入(如果有)、预期输出以及您实际获得的控制台输出、堆栈跟踪、编译器错误——只要适用。你提供的细节越多,你可能得到的答案就越多。到目前为止,你尝试过什么?我会看看和@MartijnPieters:粘贴一个表单响应,说如果你这样做,没有人会为他们编写代码,这有什么意义?@Wooble:我没有给出完整的答案。如果能提供更多的细节,或者做出任何努力,这仍然会有所帮助。如果能提供更多的信息,这可能会有更好的帮助,目标是教OP如何提出更好的问题,而不是对问题置之不理。我不是因为没有提供更好的问题而惩罚任何人。@Wooble:也许这是为了减少对他自己答案的竞争。我得到了以下错误:7如果没有“:”在第8行中:继续-->9 label,value=mapstr.strip,line.split“:”,110如果label和value:11 data[label]=值错误:需要多个值才能unpack@RossG当前位置抱歉,我的回答中有一个缩进错误。现在修好了。+1:那真是太棒了!哇,谢谢你。如何将变量输出到.csv文件?我曾经尝试过这样的方法:tmp=open'F:/python/regd/2012/test.csv','wb'forOut=csv.writertmp entry=[],然后是vars=a、b、c、d entry.appendvars for row in entry:forOut.writerowrow,这很有效,但我不太知道如何挑选出个人variables@RossG:此处只有一行数据,这是我的猜测。你可以使用csv.DictWriter。阅读文档,尝试一些东西,在“也许”中提问,如果您有其他具体问题,也许可以问另一个问题。