python xlrd 读取excel
之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel,然后把数据存到数据库,故把操作excel的过程记录下的。
pip3 install xlrd
直接pip3安装。
为了演示方便,这里的excel文件直接和python文件放在一个目录下的,如果是项目中,需要注意excel的文件路径。
# 操作excel excel = xlrd.open_workbook("test.xls") excel.sheet_names() # 获取excel里的工作表sheet名称数组 sheet = excel.sheet_by_index(0) #根据下标获取对应的sheet表
sheet.row_values(0) #获取第一行的数据 sheet.col_values(0) #获取第一列的数据 sheet.nrows #获取总共的行数 sheet.ncols #获取总共的列数
假设我们需要第二行至最后一行的数据,就可以直接遍历获取了
for i in range(1, sheet.nrows): row_list = sheet.row_values(i) # 每一行的数据在row_list 数组里
对于单个的单元格可以通过sheet.cell(row,col)
参数就是row-行、col-列,这个方法得到的是cell对象,sheet.cell(0,0).value
value是对应的单元格内容。
还有一种特殊的情况,合并单元格的: sheet.merged_cells
可以查看合并单元格的情况
print(sheet.merged_cells) [(0, 1, 1, 3), (4, 10, 1, 2)]
(0, 1, 1, 3)
第一行 第2到3列合并 (4, 10, 1, 2)
第5到10行 第2列合并
前两个参数指行范围,后两个参数指列范围。
合并单元格的内容取值只有 合并的第一个单元格可以获取到值,其他为空。
print(sheet.cell(0, 1).value) print(sheet.cell(4, 1).value)
自己做的网站,数据就是从excel表格来的,所以就需要对excel表格进行操作,把数据写到数据库里面。我这边需要使用到的就是遍历excel行去取值,难度并不高,唯一要注意的就是excel的路径问题。
media_root = os.path.join(settings.BASE_DIR, 'upload/excel/') word_path = media_root + "**.xls"
这篇文章介绍的比较简单,但是用好了这些库,对我们日常使用还是很有帮助的,提升开发效率。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[Python][数据分析环境配置]
pyenv for py3 虚拟环境设置install pip3 apt install python3-pip virtual env for py3: mkdir -p ~/pyenv cd ~/pyenv virtualenv -p /usr/bin/python3 py3 source ~/pyenv/py3/bin/activate pip install --upgrade pip echo "source ~/pyenv/py3/bin/activate" >> ~/.bashrc py3 config: pip install jupyter numpy pandas cv2 pillow re tqdm jupyter remote ref remote do: jupyter notebook --ip 127.0.0.1 --no-browser --port=8889 local do: ssh -N -L localhost:8888:localhost:8889 root@101.132.158.110 workspace windows cyg...
- 下一篇
针对nginx的一系列优化方法及nginx服务器状态的查看
优化 nginx 的并发:1.修改 nginx 配置文件 [root@proxy nginx]# vim conf/nginx.conf worker_processes 1; #线程数,最大匹配 CPU 核心数,通常设 置为 auto worker_rlimit_nofile 16384; #设置文件描述符,默认 1024 events { use epoll; #使用 epoll 模式 worker_connections 1024;} #每线程并发量,最大设置 65535,匹配 最大端口号 2.修改 linux 内核参数 [root@proxy ~]# ulimit -a #查看所有属性值 [root@proxy ~]# ulimit -Hn 100000 #设置硬限制,非 root 用户允许修改的软 限制上限 [root@proxy ~]# ulimit -Sn 100000 #设置软限制,非 root 用户可以自行修改 优化 nginx 数据包头缓存 [root@proxy nginx]# vim conf/nginx.conf http{ client_header_buf...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G