通过python,将excel中的数据写入二维列表
需求:读取Excel表中数据,每行数据放在一个列表中,再把所有列表都存入到一个列表中,形成二维列表。
实现方法:导入可在Python处理Excel表格数据的模块。
excel表:

方法一:xlwings
了解到xlwings很强大,但是折戟沉沙(本地环境问题)。
1. 写一个测试demo如下:
import xlwings as xw # 打开excel,参数visible表示处理过程是否可视,add_book表示是否打开新的Excel程序
with xw.App(visible=True, add_book=False) as app:
# 创建一个工作薄
book = app.books.add()
# 工作薄中创建一个sheet表
sht = book.sheets.add()
# 向表格的A1单元格写入“Hello Python”
sht.range('A1').value = 'Hello Python'
# 保存
book.save('./test.xlsx')
2. 代码执行结果:
"D:\Program Files\python3\python.exe" "D:\Program Files\python3\Zyl\demo71.py"
Traceback (most recent call last):
File "D:\Program Files\python3\Zyl\demo71.py", line 4, in <module>
with xw.App(visible=True, add_book=False) as app:
File "D:\Program Files\python3\lib\site-packages\xlwings\main.py", line 294, in __init__
self.impl = engines.active.apps.add(
File "D:\Program Files\python3\lib\site-packages\xlwings\main.py", line 203, in add
return App(impl=self.impl.add(**kwargs))
File "D:\Program Files\python3\lib\site-packages\xlwings\_xlwindows.py", line 497, in add
return App(spec=spec, add_book=add_book, xl=xl, visible=visible)
File "D:\Program Files\python3\lib\site-packages\xlwings\_xlwindows.py", line 521, in __init__
self._xl = COMRetryObjectWrapper(DispatchEx("Excel.Application"))
File "D:\Program Files\python3\lib\site-packages\win32com\client\__init__.py", line 145, in DispatchEx
dispatch = pythoncom.CoCreateInstanceEx(
pywintypes.com_error: (-2147024894, '系统找不到指定的文件。', None, None) Process finished with exit code 1
百度搜索该问题,很多回答都是说安装了WPS导致的该问题,我的电脑并未安装WPS,无法用网上搜索到的解决方案解决。还有的说要根据报错修改源码,比较麻烦,放弃。
方法二:xlrd
该方法可将excel数据转化为二维列表,但是列表的中的数据格式发生变异。
1. 代码实现如下:
import xlrd
# coding=utf-8 #读取文件
def read_excel(files, sheet, row):
try:
workbook = xlrd.open_workbook(files)
table = workbook.sheet_by_name(sheet)
nrows = table.nrows # 表的行数
value_list = []
for i in range(row, nrows):
rowvalue = table.row_values(i)[0:5]
value_list.append(rowvalue)
print(value_list)
return value_list except:
print('文件读取失败!')
# 调用函数
read_excel(r'D:\Program Files\python3\Zyl\sgs2.xls','压测结果',2)
2. 代码执行结果:

时间、数字的格式不对,再转化比较麻烦,该方法舍弃。
方法三:openpyxl
这也是一款强大的工具,满足当前需求,采用。
1. 代码实现如下:
import openpyxl #读取文件
def read_excel(files, sheet):
try:
my_list = [] # 按行存放Excel表中数据
wb = openpyxl.load_workbook(files)
ws = wb[sheet]
maxrows = ws.max_row # 获取最大行
for i in range(maxrows-2):
temp_list = []
for each in ws.iter_cols( max_col=5,min_row=3):
temp_list.append(each[i].value)
my_list.append(temp_list) print(my_list)
print(ws)
return my_list except:
print('文件读取失败!')
# 调用函数
read_excel(r'result.xlsx','压测结果')
2. 代码执行结果:

excel表中的数据写入到列表中后,格式没有发生变化。 nice!!!
通过python,将excel中的数据写入二维列表的更多相关文章
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- 利用Kettle 从Excel中抽取数据写入SQLite
SQLite作为一种数据库可以配置为Kettle的数据输入和输出,这个例子是从Excel中抽取数据然后写入到SQLite中 配置测试并成功后如下 下面是配置步骤: Excel输入配置 sqlite配置 ...
- 从txt文件中读取数据放在二维数组中
1.我D盘中的test.txt文件内的内容是这样的,也是随机产生的二维数组 /test.txt/ 5.440000 3.4500006.610000 6.0400008.900000 3.030000 ...
- Python读取Excel中的数据并导入到MySQL
""" 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...
- python读取excel中的数据
import numpy as np import matplotlib.pyplot as plt import pandas as pd #df = pd.read_excel('/Users/N ...
- 用python在excel中读取与生成随机数写入excel中
今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...
- 将Oracle数据库中的数据写入Excel
将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...
- 从Excel中读取数据并批量写入MySQL数据库(基于MySQLdb)
一.Excel内容如下,现在需要将Excel中的数据全部写入的MySQL数据库中: 二.连接MySQL的第三方库使用的是“MySQLdb”,代码如下: # -*- coding:utf-8 -*-im ...
- python 去除Excel中的重复行数据
导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...
- C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)
本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中 ...
随机推荐
- 2022-12-16:给你一个长度为n的数组,并询问q次 每次询问区间[l,r]之间是否存在小于等于k个数的和大于等于x 每条查询返回true或者false。 1 <= n, q <= 10^5 k
2022-12-16:给你一个长度为n的数组,并询问q次 每次询问区间[l,r]之间是否存在小于等于k个数的和大于等于x 每条查询返回true或者false. 1 <= n, q <= 1 ...
- ClickHouse笔记: Ubuntu/Centos下的安装, 配置和用户管理
ClickHouse ClickHouse 属于 OLAP 数据库 OLTP 与 OLAP OLTP (On-Line Transaction Processing 联机事务处理), 注重事务处理, ...
- SQL Server2019 删除列字段
命令: 有默认值时用:alter table 表名 DROP 约束 alter table 表名 DROP COLUMN 列名 例如: alter table LJEL005H DROP COLUM ...
- .cur 图片加载提示 You may need an appropriate loader to handle this file type
最近一个gis 项目需要加载一个.cur的图标,但是编译时提示 You may need an appropriate loader to handle this file type, current ...
- 00.Webstrom的基本入门设置
1.取消红框类自动打开项目 2.打开轮滚缩放代码 3.设置代码字体,这里选择的是Consolas 推荐免费字体:https://files.cnblogs.com/files/huadaxia/jet ...
- 数据科学工具 Jupyter Notebook 教程(二)
Jupyter Notebook 是一个把代码.图像.注释.公式和作图集于一处,实现可读性分析的交互式笔记本工具.借助所谓的内核(Kernel)的概念,Jupyter Notebook 可以同时支持包 ...
- Galaxy生物信息分析平台的数据集对象清理
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. Galaxy Project 是在云计算背景下诞生的一个生物信息学可视化分析开源项目.该项目由 ...
- R 包初学者指南
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 基于 11 个最常见的用户问题介绍 R 软件包. R 包是由社区开发 (developed b ...
- 《系列二》-- 1、BeanFactory.getBean 总览
目录 一句话概括 1 书接上回 2 揭开 doGetBean() 的神秘面纱, 重要操作一览 3 必要的课外知识 3.1 bean 的作用域 Scope 有哪些 3.2 FactoryBean 是什么 ...
- 从头学Java17-Stream API(一)
Stream API Stream API 是按照map/filter/reduce方法处理内存中数据的最佳工具. 本系列中的教程包含从基本概念一直到collector设计和并行流. 在流上添加中继操 ...