Python 将行数据从文本文件复制到另一列描述中

Python 将行数据从文本文件复制到另一列描述中,python,python-3.x,Python,Python 3.x,我遇到了一个复杂的问题,我会尽力描述 我有一个包含以下信息的文本文件 客户名称:扎克客户编号:12345 10.4 2014556-保利FSV-1.50 2016年2月6日每个单位订单 10.5 2014556-保利FSV-1.50 2016年2月6日每个单位订单 客户名称:拉里客户编号:00099 1.4 2014556-保利FSV-1.50 2016年2月6日每个单位订单 1.5 2014556-保利FSV-1.50 2016年2月6日每个单位订单 客户名称:詹姆斯客户编号:99999 5.

我遇到了一个复杂的问题,我会尽力描述

我有一个包含以下信息的文本文件

客户名称:扎克客户编号:12345

10.4 2014556-保利FSV-1.50 2016年2月6日每个单位订单

10.5 2014556-保利FSV-1.50 2016年2月6日每个单位订单

客户名称:拉里客户编号:00099

1.4 2014556-保利FSV-1.50 2016年2月6日每个单位订单

1.5 2014556-保利FSV-1.50 2016年2月6日每个单位订单

客户名称:詹姆斯客户编号:99999

5.4 2014556-保利FSV-1.50 2016年2月6日每个单位订单

5.5 2014556-保利FSV-1.50 2016年2月6日每个单位订单

等等。。。。。同样的格式

我要做的是,将客户名称值“Zack”和客户编号“12345”添加到行的末尾,并去掉当前格式。 最终以这种新的格式结束

10.4 2014556-保利FSV-1.50 2016年2月6日每台机组订单Zach 12345

10.5 2014556-保利FSV-1.50 2016年2月6日每台机组订单Zack 12345

1.4 2014556-保利FSV-1.50 2016年2月6日各单位订单Larry 00099

1.5 2014556-保利FSV-1.50 2016年2月6日每台机组的订单量:00099

5.4 2014556-保利FSV-1.50 2016年2月6日每个单位订单99999

5.5 2014556-保利FSV-1.50 2016年2月6日每个单元订单詹姆斯99999

我的想法有点像。。。如果行以数字开头,则将最后一个客户名称值和客户编号值添加到行的末尾

这可能吗

非常感谢您抽出时间

这是我的密码:

import re
file = open('Orders.txt', 'r')
for line in file:
    if line.__contains__('Customer Name') or line[0].isdigit():
         print(line.lstrip())
下面是一个更好的数据示例:


首先,打开文件时要小心,然后必须调用file.close()

您可以做的是遍历该文件,并在每次找到客户名称和编号时更改它们

以下是我的看法:

customer_number = 0
customer_name = ''
with open('Orders.txt', 'r') as file: # Usually it's how files are opened
    while True:
        line = file.readline()
        if line == '': # We get out of the loop when we're finished
            break
        if 'Customer Name' in line:
            # Change customer number and name
            # Quite hacky way to do it
            listline = line.split('Customer')
            customer_name = listline[0]
            customer_number = listline[1]
        else :
            print('%s, %s, %s' % (line.strip(), customer_name, customer_number))
请注意,使用此方法,行尾将写上“Name:yourcustomename”和“Number:yourcustomernumber”。 您可以很容易地得到这个的唯一名称和编号,但我会让您自己了解:)


我还建议您将更改保存到文件中,而不是简单地打印它们。

谢谢您的帮助!您能通过解析来解释更改的客户编号和名称吗?还有为什么cuatomer_的名字没有价值?编辑了我的答案,使之更加明确。你太棒了!!谢谢:)