【发布时间】:2020-02-20 07:30:00
【问题描述】:
我只想读取和合并 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:
并输出到:
【问题讨论】:
标签: excel python-3.x xlrd