python中用openpyxl读取excel表格数据,并且转换成字典格式
如题。excel表格数据里面有班级,姓名,性别,学号的数据。如何据全部读取出来,并且每一行数据都显示为一个字典?比如这样展示:班级:一(1)班,姓名:小明,性别:男,学号...
如题。excel表格数据里面有班级,姓名,性别,学号的数据。如何据全部读取出来,并且每一行数据都显示为一个字典?比如这样展示:班级:一(1)班,姓名:小明,性别:男,学号:110
展开
1个回答
展开全部
'悔歼''
如题。excel表格数据里面有班级,姓名,性别,学号的数据。如何据全部读取出来,
并且每一行数据都显示为一个字典?
比如这样展示:班级:一(1)班,姓名:小明,性别:男,学号:110
'''
'''
思路:
先将表头每格数据读取出来,放在列表中:[‘班级’,‘姓名’,‘性别’,‘学号’]
再将表头下面每行也读取出来,放在列表中:['一(1)班','小明‘,’男','110’]
关键就算要用zip函数,首先了解zip的作用
是将2个列表中碧毁冲的数据第一个和第一个组合成元组,第二个和第二个组合成元组,以此类推
但它是存放在内存中,要将他们变成列表用到list()函数,最后列表要变成字典用到dict{}函数
'''
import openpyxl
# 读取excel中的数据
# 第一步打开工作簿
wb = openpyxl.load_workbook('cases.xlsx')
# 第二步选取表单,注意Sheet是大写的S
sheet = wb['Sheet1']
# 按行获取数据转换成列表
# 先定义一个总的列表余谈所有的行先放在列表中
rows_data = list(sheet.rows)
# 获取表单的表头信息(第一行),也就是列表的第一个元素
titles = []
for title in rows_data[0]:
titles.append(title.value)
# print(title.value) # 打出来看看
# 遍历出除了第一行的其他行
for a_row in rows_data[1:]:
# the_row_data用来临时存放每一行数据
a_row_data = []
# 遍历每一行的单元格
for cell in a_row:
# print(cell.value) # 取单元格的值
# 判断该单元格的值是否为字符串类型,
# 因为有些是空的,
# 是字符串就转换成python表达式,空的就不是字符串类型就直接添加
if isinstance(cell.value, str):
a_row_data.append(eval(cell.value))
else:
a_row_data.append(cell.value)
# print(data) #打印出来看看
# 将表头和该条数据内容,打包成一个字典
rows_dict = dict(list(zip(titles, a_row_data)))
# all_rows.append(rows_dict)
print(rows_dict)
如题。excel表格数据里面有班级,姓名,性别,学号的数据。如何据全部读取出来,
并且每一行数据都显示为一个字典?
比如这样展示:班级:一(1)班,姓名:小明,性别:男,学号:110
'''
'''
思路:
先将表头每格数据读取出来,放在列表中:[‘班级’,‘姓名’,‘性别’,‘学号’]
再将表头下面每行也读取出来,放在列表中:['一(1)班','小明‘,’男','110’]
关键就算要用zip函数,首先了解zip的作用
是将2个列表中碧毁冲的数据第一个和第一个组合成元组,第二个和第二个组合成元组,以此类推
但它是存放在内存中,要将他们变成列表用到list()函数,最后列表要变成字典用到dict{}函数
'''
import openpyxl
# 读取excel中的数据
# 第一步打开工作簿
wb = openpyxl.load_workbook('cases.xlsx')
# 第二步选取表单,注意Sheet是大写的S
sheet = wb['Sheet1']
# 按行获取数据转换成列表
# 先定义一个总的列表余谈所有的行先放在列表中
rows_data = list(sheet.rows)
# 获取表单的表头信息(第一行),也就是列表的第一个元素
titles = []
for title in rows_data[0]:
titles.append(title.value)
# print(title.value) # 打出来看看
# 遍历出除了第一行的其他行
for a_row in rows_data[1:]:
# the_row_data用来临时存放每一行数据
a_row_data = []
# 遍历每一行的单元格
for cell in a_row:
# print(cell.value) # 取单元格的值
# 判断该单元格的值是否为字符串类型,
# 因为有些是空的,
# 是字符串就转换成python表达式,空的就不是字符串类型就直接添加
if isinstance(cell.value, str):
a_row_data.append(eval(cell.value))
else:
a_row_data.append(cell.value)
# print(data) #打印出来看看
# 将表头和该条数据内容,打包成一个字典
rows_dict = dict(list(zip(titles, a_row_data)))
# all_rows.append(rows_dict)
print(rows_dict)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |