将文本文件中的行拆分为列表中的单独条目?

2024-10-03 02:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我想编写一个允许用户执行各种任务的程序,其中一个我遇到了一些问题。
-选项A允许用户按作业的“估计ID”搜索文本文件,它将在文件中搜索匹配的ID,并以以下格式返回相关数据:
估计数:(估计数
客户ID:(客户ID
估算金额:(最终总额
估算日期:(估算数据
状态:(状态

现在,数据存储在文本文件中的格式如下:
E5346,2015年9月23日,C107970,N,0
E5347,2015年9月23日,C1081050,E,0
E5348,2015年9月23日,C109370,A,200

数据显示为估算编号估算日期客户ID最终总额(英镑)状态(E代表估算,A代表接受工作,N代表不接受),以及支付金额(英镑)。显然,这些顺序是错误的,不同的条目都在一行上,用逗号隔开,但格式不能更改。
下面是我为此编写的代码:

Est_no = input ("Please enter the Estimate Number you wish to search: ")
data = []
search = open("paintingJobs.txt","r")
for line in search:
    if (Est_no) in line:
        data.append (line)
        print ("Estimate Number:",data[0])
        print ("Customer ID:", data[2])
        print ("Estimate amount:",data[3])
        print ("Estimate Date:",data[1])
        if data[4] == "E":
            status = ("Estimate")
        if data[4] == "A":
            status = ("Accepted Job")
        if data[4] == "N":
            status = ("Not Accepted")
        print ("Status:",status)
search.close()

我有一个很好的主意,就是把这一行放入一个列表中,由于条目之间用逗号隔开,它们将是列表中独立的条目,并且会根据需要进行打印,但是,它会将文件中的行作为一个条目添加;当我打印列表中的第一个条目时,我希望它是估计数,它打印了整个行,所以我显然需要把它分成我想要的单独的条目。我的问题是,怎么做?在


Tags: 数据idsearchdata客户if状态格式
1条回答
网友
1楼 · 发布于 2024-10-03 02:33:52

使用string.split()按分隔符拆分字符串(在本例中,分隔符是",")。在

现在,if块下的代码如下:

# Remove the data variable definition above the for loop
if (Est_no) in line:
    data = line.split(',')
    # Process data like a list like you are already doing

相关问题 更多 >