gpt4 book ai didi

python - openpyxl 在列开头加载虚假 'None' 单元格

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:04 25 4
gpt4 key购买 nike

我一直在使用 python 中的 openpyxl 库开发一个函数,该函数将从工作簿中的指定工作表加载列,并在返回列表或 numpy 中的列之前进行一些数据调节数组。

为了加载列,我加载工作簿,获取目标工作表,存储列,然后简单地迭代每列并将单元格内容附加到列表中:

    #open the excel file
wb = openpyxl.load_workbook(fname, read_only = True)
print('\nWorkbook "%s" open...' % (fname))

#get the target sheet
sh = wb.get_sheet_by_name(sheet)
print('Sheet "%s" aquired...' % (sheet))

#store only the desired columns of the sheet
sheetcols = sh.columns
columns = [[] for i in range(L)]
for i in range(L):
columns[i] = sheetcols[cols[i] - 1]

#read selected columns into a list of lists
print('Parsing desired columns of data...')
data = [[] for i in range(L)]
#iterate over the columns
for i in range(L):
#iterate over a specific column
print(len(columns[i]))
for j in range(len(columns[i])):
#store cell contents as a string (for now)
data[i].append(columns[i][j].value)

某些列将在其各自列表的开头加载多个 None 元素,这些元素与 Excel 文件中的数据不对应。例如,一列开头有两个空单元格(由于标题空间或其他原因而留空)预计会在其列表开头加载两个 None 元素,但它可能会加载五个或六个 None 元素,而不是两个...

每次运行该函数时它都是一致的。相同的列每次都会出现这个问题,这让我认为excel表格中存在某种隐藏数据。我尝试清除本应为空的单元格的内容,但没有成功。

是否有人更熟悉 openpyxl 模块或者只是 excel 知道为什么这些神秘的额外 None 元素会进入导入的数据?

最佳答案

代码不完整,但可能值得注意的是,缺少单元格的工作表的行为必然有些不可预测。例如,如果工作表仅在 D3:G8 的单元格中包含值,那么它的列应该是什么? openpyxl 将为任何给定范围按需创建单元格,我怀疑这就是您可能看到的内容。

ws.rowsws.columns 是为了方便而提供的,但您几乎总是可以更好地使用 ws.get_squared_range(…) ,它应该会给你带来一些惊喜。

关于python - openpyxl 在列开头加载虚假 'None' 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35414692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com