Я хочу читать и объединять только видимые ячейки в Excel, но у меня не получилось.
Кроме того, я пробовал openpyxl
, но не работал. (Найдите мой второй код)
Есть ли другие способы чтения только видимых ячеек и вставки в новый Excel?
Я хочу читать только видимые ячейки, потому что иногда их необходимо фильтровать или скрывать .
Пожалуйста, посоветуйте мне.
В какой модуль я должен войти?
Если каждый модуль Excel не может этого сделать, пожалуйста, дайте мне знать.
Мой текущий код:
import os
import glob
import xlwings as xw
import xlrd
import xlsxwriter
xw.App().visible = False
path = os.getcwd()
x=input('name:') + '.xlsx'
target_xls = os.path.join(path,x)
data = []
for file in glob.glob(path+'\*.*'):
if file.endswith((".xls", ".xlsm", ".xlsx")):
wb = xlrd.open_workbook(file)
for sheet in wb.sheets():
for rownum in range(sheet.nrows):
data.append(sheet.row_values(rownum))
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
for i in range(len(data)):
print(range(len(data)))
for j in range(len(data[i])):
worksheet.write(i, j, data[i][j])
workbook.close()
Мой код openpyxl:
import os
import glob
import xlwings as xw
import xlrd
import xlsxwriter
from openpyxl import load_workbook
xw.App().visible = False
path = os.getcwd()
x = input('name:') + '.xlsx'
target_xls = os.path.join(path, x)
data = []
wb = load_workbook('sample.xlsx')
ws = wb['Sheet1']
for row in ws:
if ws.row_dimensions[row[0].row].hidden == False:
for cell in row:
data.append(cell.value)
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
for i in range(len(data)):
print(range(len(data)))
for j in range(len(data[i])):
worksheet.write(i, j, data[i][j])
workbook.close()
Я хочу прочитать Excel, как показано ниже:
И вывод в: