输出数据未按计划打印
output data not printing quite as planned
我有一段代码接受输入的数字,搜索 CSV 并输出该行,但是原始输入的数字也会被打印出来。我需要在我的代码中修改什么才能删除它?
def DoASearch():
self.outputQty.delete(1.0, 'end')
self.outputDesc.delete(1.0, 'end')
self.dwgoutputbox.configure(state="normal")
self.dwgoutputbox.delete(1.0, 'end')
self.dwgoutputbox.configure(state="disabled")
try:
print(int(sonumber.get()))
except ValueError:
messagebox.showwarning("OPPS !!", "Please enter a valid Shop Order number.")
with open("lesspreadsheettest.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
result=(row['Shop Order'])
if sonumber.get() == result:
print(row['Part Number'])
print(row['Description'])
print(row['Quantity'])
print(row['Drawings'])
print(row['Issue'])
self.searchbutton = ttk.Button(rootWindow, text="Search", command=DoASearch)
self.searchbutton.grid(row=1, column=7, sticky=W, padx=3, pady=3)
修改后的代码可以很好地与下面的代码配合使用。添加了一些可以忽略的额外重复字段。
def checkcsv():
with open("lesspreadsheettest.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
result=(row['Shop Order'])
if sonumber.get() == result:
descQty=(row['Quantity'])
descInfo=(row['Description'])
descPN=(row['Part Number'])
descDwg1=(row['Drawings1'])
descIss1=(row['Issue1'])
descDwg2=(row['Drawings2'])
descIss2=(row['Issue2'])
descDwg3=(row['Drawings3'])
descIss3=(row['Issue3'])
self.outputQty.insert(INSERT,descQty)
self.outputDesc.insert(INSERT,descPN, END," ", END, descInfo)
self.dwgoutputbox.insert(INSERT, descDwg1, END, " ", END, " Issue: ",END,descIss1,END, "\n")
self.dwgoutputbox.insert(INSERT, descDwg2, END, " ", END, " Issue: ",END,descIss2,END, "\n")
self.dwgoutputbox.insert(INSERT, descDwg3, END, " ", END, " Issue: ",END,descIss3,END, "\n")
self.outputQty.configure(state="disabled")
self.outputDesc.configure(state="disabled")
self.dwgoutputbox.configure(state="disabled")
使用循环的稍微好一点的版本如下:
def checkcsv():
with open("lesspreadsheettest.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
result=(row['Shop Order'])
if sonumber.get() == result:
descQty=(row['Quantity'])
descInfo=(row['Description'])
descPN=(row['Part Number'])
for i in range(1,4):
descDwg=(row['Drawings'+ str(i)])
descIss=(row['Issue'+ str(i)])
self.dwgoutputbox.insert(1.0, descDwg, "dwg", " Issue: ", "", descIss, "", "\n")
self.outputQty.insert(1.0, descQty)
self.outputDesc.insert(1.0, descPN, "", ": ", "", descInfo)
self.outputQty.configure(state="disabled")
self.outputDesc.configure(state="disabled")
self.dwgoutputbox.configure(state="disabled")
我建议更改以下行
print(int(sonumber.get()))
进入
int(sonumber.get())
但是,您真的应该更深入地研究您的代码,以便了解它所做的哪些 事情以及在哪里 它做了那些事情东西。
我有一段代码接受输入的数字,搜索 CSV 并输出该行,但是原始输入的数字也会被打印出来。我需要在我的代码中修改什么才能删除它?
def DoASearch():
self.outputQty.delete(1.0, 'end')
self.outputDesc.delete(1.0, 'end')
self.dwgoutputbox.configure(state="normal")
self.dwgoutputbox.delete(1.0, 'end')
self.dwgoutputbox.configure(state="disabled")
try:
print(int(sonumber.get()))
except ValueError:
messagebox.showwarning("OPPS !!", "Please enter a valid Shop Order number.")
with open("lesspreadsheettest.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
result=(row['Shop Order'])
if sonumber.get() == result:
print(row['Part Number'])
print(row['Description'])
print(row['Quantity'])
print(row['Drawings'])
print(row['Issue'])
self.searchbutton = ttk.Button(rootWindow, text="Search", command=DoASearch)
self.searchbutton.grid(row=1, column=7, sticky=W, padx=3, pady=3)
修改后的代码可以很好地与下面的代码配合使用。添加了一些可以忽略的额外重复字段。
def checkcsv():
with open("lesspreadsheettest.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
result=(row['Shop Order'])
if sonumber.get() == result:
descQty=(row['Quantity'])
descInfo=(row['Description'])
descPN=(row['Part Number'])
descDwg1=(row['Drawings1'])
descIss1=(row['Issue1'])
descDwg2=(row['Drawings2'])
descIss2=(row['Issue2'])
descDwg3=(row['Drawings3'])
descIss3=(row['Issue3'])
self.outputQty.insert(INSERT,descQty)
self.outputDesc.insert(INSERT,descPN, END," ", END, descInfo)
self.dwgoutputbox.insert(INSERT, descDwg1, END, " ", END, " Issue: ",END,descIss1,END, "\n")
self.dwgoutputbox.insert(INSERT, descDwg2, END, " ", END, " Issue: ",END,descIss2,END, "\n")
self.dwgoutputbox.insert(INSERT, descDwg3, END, " ", END, " Issue: ",END,descIss3,END, "\n")
self.outputQty.configure(state="disabled")
self.outputDesc.configure(state="disabled")
self.dwgoutputbox.configure(state="disabled")
使用循环的稍微好一点的版本如下:
def checkcsv():
with open("lesspreadsheettest.csv") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
result=(row['Shop Order'])
if sonumber.get() == result:
descQty=(row['Quantity'])
descInfo=(row['Description'])
descPN=(row['Part Number'])
for i in range(1,4):
descDwg=(row['Drawings'+ str(i)])
descIss=(row['Issue'+ str(i)])
self.dwgoutputbox.insert(1.0, descDwg, "dwg", " Issue: ", "", descIss, "", "\n")
self.outputQty.insert(1.0, descQty)
self.outputDesc.insert(1.0, descPN, "", ": ", "", descInfo)
self.outputQty.configure(state="disabled")
self.outputDesc.configure(state="disabled")
self.dwgoutputbox.configure(state="disabled")
我建议更改以下行
print(int(sonumber.get()))
进入
int(sonumber.get())
但是,您真的应该更深入地研究您的代码,以便了解它所做的哪些 事情以及在哪里 它做了那些事情东西。