Python CSV文件未正确填写详细信息

Python CSV文件未正确填写详细信息,python,csv,export-to-csv,Python,Csv,Export To Csv,大家好,我开发了上述python脚本,从文本文件中提取“作者”、“票证”和“修订”详细信息,然后将该信息填充到CSV文件中 现在我能够提取所有信息,但数据没有正确填写在CSV文件中 文本文件内容如下所示 import csv TextFileContent = open('tickets.txt') with open('example4.csv', 'w') as csvfile: fieldnames = ['Author', 'ticket number', 'Revision']

大家好,我开发了上述python脚本,从文本文件中提取“作者”、“票证”和“修订”详细信息,然后将该信息填充到CSV文件中

现在我能够提取所有信息,但数据没有正确填写在CSV文件中

文本文件内容如下所示

import csv
TextFileContent = open('tickets.txt')
with open('example4.csv', 'w') as csvfile:
    fieldnames = ['Author', 'ticket number', 'Revision']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for TextLine in TextFileContent:
        if 'Revision:' in TextLine:
            tmp=TextLine.replace('Revision:', "")
            print(tmp)
            writer.writerow({'Revision': tmp})
        elif 'Author:' in TextLine:
            tmp=TextLine.replace("Author:", "")
            print(tmp)
            writer.writerow({'Author': tmp})
        elif 'Contributes to:' in TextLine:
            tmp=TextLine.replace("Contributes to:", "")
            print(tmp)
            writer.writerow({'ticket number': tmp})
Revision: 22904
Author: Userx
Contributes to: CF-1159


Revision: 22887
Author: Usery
Contributes to: CF-955


Revision: 22884
Author: UserZ
Contributes to: CPL-7768
我想在CSV文件的结果如下

import csv
TextFileContent = open('tickets.txt')
with open('example4.csv', 'w') as csvfile:
    fieldnames = ['Author', 'ticket number', 'Revision']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for TextLine in TextFileContent:
        if 'Revision:' in TextLine:
            tmp=TextLine.replace('Revision:', "")
            print(tmp)
            writer.writerow({'Revision': tmp})
        elif 'Author:' in TextLine:
            tmp=TextLine.replace("Author:", "")
            print(tmp)
            writer.writerow({'Author': tmp})
        elif 'Contributes to:' in TextLine:
            tmp=TextLine.replace("Contributes to:", "")
            print(tmp)
            writer.writerow({'ticket number': tmp})
Revision: 22904
Author: Userx
Contributes to: CF-1159


Revision: 22887
Author: Usery
Contributes to: CF-955


Revision: 22884
Author: UserZ
Contributes to: CPL-7768

您的代码在找到任何字段后立即写入一行,而不是等到读取了完整的字段集。下面的编辑等待完整的集合,然后写入该行

Author  ticket number   Revision
Userx    CF-1159        22904
Usery    CF-955         22887
UserZ    CPL-7768       22884
请注意,除非所有记录都包含所有字段,否则这将无法正常工作