gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:08 30 4
gpt4 key购买 nike

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

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

客户名称:Zack 客户编号:12345

10.4 2014556 - FSV Poly -1.50 二月 16 6 每单位订单

10.5 2014556 - FSV Poly -1.50 二月 16 6 每单位订单

客户名称:Larry 客户编号:00099

1.4 2014556 - FSV Poly -1.50 二月 16 6 每单位订单

1.5 2014556 - FSV Poly -1.50 二月 16 6 每单位订单

客户姓名:James 客户编号:99999

5.4 2014556 - FSV Poly -1.50 二月 16 6 每单位订单

5.5 2014556 - FSV Poly -1.50 二月 16 6 每单位订单

等等......以相同的格式。

我想要做的是添加客户名称值“Zack”和客户编号12345强>”到行尾并摆脱当前格式。最终以这种新格式结束。

10.4 2014556 - FSV Poly -1.50 Feb 16 6 每单位订单 Zach 12345

10.5 2014556 - FSV Poly -1.50 Feb 16 6 每单位订单 Zack 12345

1.4 2014556 - FSV Poly -1.50 Feb 16 6 每单位订单 Larry 00099

1.5 2014556 - FSV Poly -1.50 Feb 16 6 每单位订单 Larry 00099

5.4 2014556 - FSV Poly -1.50 Feb 16 6 每个单位订单 James 99999

5.5 2014556 - FSV Poly -1.50 二月 16 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())

这是一个更好的数据示例:

enter image description here

最佳答案

首先,打开文件时要小心,然后你必须调用 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: yourcustomername”和“Number: yourcustomernumber”。您可以很容易地只获得名称和编号,但我会让您自己找到答案:)

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

关于python - 将行数据从文本文件复制到另一列描述中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42442864/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com