Python 将行数据从文本文件复制到另一列描述中
我遇到了一个复杂的问题,我会尽力描述 我有一个包含以下信息的文本文件 客户名称:扎克客户编号: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 我的想法有点像。。。如果行以数字开头,则将最后一个客户名称值和客户编号值添加到行的末尾 这可能吗 非常感谢您抽出时间 这是我的密码: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.
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_的名字没有价值?编辑了我的答案,使之更加明确。你太棒了!!谢谢:)