我有一个代码可以自动读取所有工作表中特定 Excel 单元格中的信息。接下来,我希望将此数据填充到单独的 Excel 表中的一列中。 数据已写入,但先前读取的表中的数据的每个字符都填充在单独的单元格中。
这是负责此操作的一段代码。
def xlsx2():
wb = Workbook()
ws = wb.active
ws['A1'] = 'Монтажник(и)'
ws['B1'] = 'Номер шкафа'
ws['C1'] = 'Сумма'
data = [
list(f'{a1}, {b1}, {c1}')
]
print(type(data))
for row in data:
ws.append(row)
wb.save('example.xlsx')
def lists():
filetypes = (
('Excel', '*.xlsx'),
('All files', '*.*'),
)
global filename6
filename6 = tk.filedialog.askopenfilename(
title='Выбери таблицу',
filetypes=filetypes,
)
wb = openpyxl.load_workbook(f'{filename6}', read_only=True, data_only = True)
for sheet in wb:
a1=sheet['A14'].value
b1=sheet['B1'].value
c1=sheet['D14'].value
xlsx2()
结果就是照片中的
example.xlsx
为了让您的代码正常工作,您需要将变量传递给 xlsx2 并将它们添加到列表中。
...
def xlsx2(a1, b1, c1): # Variables from lists()
wb = Workbook()
ws = wb.active
ws['A1'] = 'Монтажник(и)'
ws['B1'] = 'Номер шкафа'
ws['C1'] = 'Сумма'
# data = [
# #list(f'{a1}, {b1}, {c1}')
# ]
data = [a1, b1, c1] # Add to a list for appending
print(type(data))
# for row in data:
ws.append(data)
wb.save('example.xlsx')
def lists():
filetypes = (
('Excel', '*.xlsx'),
('All files', '*.*'),
)
global filename6
filename6 = tk.filedialog.askopenfilename(
title='Выбери таблицу',
filetypes=filetypes,
)
wb = openpyxl.load_workbook(f'{filename6}', read_only=True, data_only=True)
for sheet in wb:
a1 = sheet['A14'].value
b1 = sheet['B1'].value
c1 = sheet['D14'].value
xlsx2(a1, b1, c1)
lists()