Python - openpyxl - 创建列表时获取单元格的实际值

问题描述 投票:0回答:1

我有这个代码来读取 .xlsx 文件:

wb1 = openpyxl.load_workbook('test.xlsx')
ws1 = wb1.worksheets[0]
       
content = list(ws1.iter_rows(values_only=True)

但是

content
列表中的数据格式包含一些
'None'
和一些
'datetime.datetime(2023, 12, 21, 0, 0)'

我怎样才能做同样的事情来确保内容列表中只包含真实值? 所以 None 会是 '' 并且 datetime.datetime(2023, 12, 21, 0, 0) 将是一个真实的日期。

我已经尝试过了

content = list(str(ws1.iter_rows(values_only=True))

但它不起作用

谢谢

python list openpyxl
1个回答
0
投票

你可以这样尝试

import openpyxl

wb1 = openpyxl.load_workbook('test.xlsx')
ws1 = wb1.worksheets[0]

content = [
    [cell if cell is not None else '' if cell is None else str(cell) for cell in row]
    for row in ws1.iter_rows(values_only=True)
]

# Now 'content' contains only real values with None replaced by '' and datetime objects converted to strings
print(content)
© www.soinside.com 2019 - 2024. All rights reserved.