请原谅这个菜鸟问题,但刚走出教室!
当找到字符“VOUCHER”时,我需要从上一行中提取一个字符串。
样本数据:
<块引用>“寿司 $1 折扣 1 $1.00”
" 凭证 #:47412 "
我使用以下代码提取字符串:
voucher,type = tee(rf)
for i in range(1):
next(voucher)
for v,t in zip(voucher,type):
if '" VOUCHER #:' in v:
type = t.split()
type2 = (type[0:len(type)-2])
虽然上面的代码允许我提取“SUSHI $1 DISCOUNT”,但不再定义之前定义的变量...代码结构如下:
from itertools import tee
with open("e-journal.txt","r") as rf:
with open("e-journal_py output.txt","w") as wf:
for line in rf:
line = line.strip()
if line.startswith("XX"):
variable "A" defined here
if line.startswith("XX"):
variable "B" defined here
voucher,type = tee(rf)
for i in range(1):
next(voucher)
for v,t in zip(voucher,type):
if '" VOUCHER #:' in v:
type = t.split()
type2 = (type[0:len(type)-2])
print(type2,variable "A",variable "B")
我需要将之前定义的变量设为非局部变量还是全局变量?有没有比使用 tee 函数更好的方法来提取“寿司 $1 折扣”?将不胜感激!
答案 0 :(得分:0)
拆分文字时您正在覆盖文字,但也许您不想这样做。使用不同的变量名,这样就不用输入类型了。例如,您可以改写 t。
t = t.split()
type2 = (t[0:len(t)-2])