代码从用户处获取周输入,在excel文件中搜索包含该周的行,将结果写入另一个excel文件,然后在tkinter标签上写入列。问题在于GUI(标签)上显示的是索引值。如何从GUI(标签)中隐藏/删除此索引值
import tkinter as tk
from datetime import date, datetime
from tkinter import *
from tkinter import font
from warnings import simplefilter
import openpyxl
import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Alignment
import xlrd
from pandas import ExcelWriter
simplefilter("ignore")
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
wb = openpyxl.load_workbook('excel.xlsx')
sheet = wb["Productie"]
week_number = date.today().isocalendar()[1]
root = tk.Tk()
root.title("Main Menu")
root.geometry("1000x500")
fontmare = font.Font(family='Helvetica', size=14, weight='bold')
var = tk.StringVar()
def exportexcel():
wb_sales = pd.ExcelFile("excel.xlsx")
sheet_3 = pd.read_excel("excel.xlsx", sheet_name= 2,dtype=str)
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 500)
read_sheets_name = wb_sales.sheet_names
weekenter = var.get()
print(weekenter)
print(sheet_3.query("['6'] in Week"))
global sheetweek
if weekenter == "6":
#sheetweek.set(sheet_3.query("['6'] in Week"))
writer = ExcelWriter('weekexport.xlsx')
sheet_3.query("['6'] in Week").to_excel(writer, 'Foaie1',index=False,)
writer.save()
print(sheet_3.query("['6'] in Week"))
if weekenter == "7":
#sheetweek.set(sheet_3.query("['7'] in Week"))
writer = ExcelWriter('weekexport.xlsx')
sheet_3.query("['7'] in Week").to_excel(writer, 'Foaie1',index=False,)
writer.save()
print(sheet_3.query("['7'] in Week"))
#####################################################################################################
global dfM
global dfB
global dfQ
global dfSN1
global dfSN2
dfM.set(pd.read_excel('weekexport.xlsx', sheet_name='Foaie1', header=None, usecols="D",index_col=None))
dfB.set(pd.read_excel('weekexport.xlsx', sheet_name='Foaie1', header=None, usecols="E",index_col=None))
dfQ.set(pd.read_excel('weekexport.xlsx', sheet_name='Foaie1', header=None, usecols="F",index_col=None))
dfSN1.set(pd.read_excel('weekexport.xlsx', sheet_name='Foaie1', header=None, usecols="G",index_col=None))
dfSN2.set(pd.read_excel('weekexport.xlsx', sheet_name='Foaie1', header=None, usecols="H",index_col=None))
root.mainloop()
def write_to_xlsx():
wb = openpyxl.load_workbook('excel.xlsx')
sheet = wb["Productie"]
week_number = date.today().isocalendar()[1]
ws = wb.active
maxim = ws.max_row + 1
for i in range(8):
ws.merge_cells(start_row=maxim, start_column=i+1, end_row=maxim + 1, end_column=i+1) # A
ws.merge_cells(start_row=maxim, start_column=24, end_row=maxim + 1, end_column=24) # X
ws.merge_cells(start_row=maxim, start_column=25, end_row=maxim + 1, end_column=25) # Y
week_number = date.today().isocalendar()[1]
ws.cell(column=1, row=maxim, value=week_number)
now = datetime.now()
dt_string = now.strftime('%d/%m')
ws.cell(column=2, row=maxim, value=dt_string)
for ndex, entry in enumerate(entry_list):
ws.cell(column=ndex+3, row=maxim, value=entry_list[ndex].get())
entry_list[ndex].delete(0, 'end')
rows = range(1, maxim + 1)
columns = range(1, 8)
for row in rows:
for col in columns:
sheet.cell(row, col).alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
wb.save("excel.xlsx")
label_list = ['Model', 'Etapa', 'Batch', 'Cantitate', 'S/N']
entry_list = []
for i in range(len(label_list)):
tk.Label(root, text=label_list[i]).grid(row=i, column=0, sticky='w')
entry_list.append(tk.Entry(root, width=10))
entry_list[-1].grid(row=i, column=1, sticky='w',)
dfM = StringVar()
dfB = StringVar()
dfQ = StringVar()
dfSN1 = StringVar()
dfSN2 = StringVar()
dfM.set("Model")
dfB.set("Batch")
dfQ.set("Cantitate")
dfSN1.set("Serial")
dfSN2.set("Number")
tk.Button(root, text='Submit', command=write_to_xlsx).grid(row=2, column=2, sticky='W')
tk.Button(root, text='Week:', command=exportexcel).grid(row=6, column=0, sticky='W')
entry = tk.Entry(root, textvariable=var, width=10).grid(row=7, column=0, sticky='w')
LabelModel = tk.Label(root, textvariable=dfM, font=fontmare).grid(row=8, column=0,sticky="w")
LabelBatch = tk.Label(root, textvariable=dfB, font=fontmare).grid(row=8, column=1,sticky="w")
LabelQty = tk.Label(root, textvariable=dfQ, font=fontmare).grid(row=8, column=2,sticky="w")
LabelSerial = tk.Label(root, textvariable=dfSN1, font=fontmare).grid(row=8, column=3,sticky="w")
LabelNumber = tk.Label(root, textvariable=dfSN2, font=fontmare).grid(row=8, column=4,sticky="w")
root.mainloop()
我有很多事情想做,但今天我的时间不多了
根据this post,
index_col=None
似乎有关于此问题的错误报告相关错误报告:GH18792和GH20480
为了解决这个问题,我所做的是将数据转换为字符串,然后将其分解为组件。一旦我有了这些,我就可以再次对它运行split(),以去除索引
现在,这里是您正在寻找的解决方案:
替换:
与:
结果:
经进一步审查:
有些事情你可能想改变。例如,如果需要,可以在一行上使用全局all
global var1, var2, var3 ...
但是,您的代码中根本不需要全局变量您已经动态地构建了条目信息,因此让我们对标签和其他变量执行相同的操作
我还注释掉了几行根本没有被使用的代码,您的代码似乎仍在工作,所以如果您有任何问题,请告诉我
我删除了未使用的导入,并对代码进行了一些常规清理,以便更密切地遵循PEP8
修订守则:
相关问题 更多 >
编程相关推荐