# 最近写项目需要,通过读取excel文件导入数据至数据库

第一种方式:xlrd方式

安装模块:

pip install xlrd

导入模块:

import xlrd

拿到操作excel句柄,读取excel文件:

workbook = xlrd.open_workbook(filepath) # 硬盘读取

workbook = xlrd.open_workbook(file_contents=file.read()) # excel数据传入,excel数据不保存在本地时候使用

拿到sheet句柄:

(1) 通过索引获取sheet句柄(没有名称的用这个,一般我就一个sheet)

sheet = workbook.sheet_by_index(0)

(2) 通过sheet名获取sheet句柄

sheet = workbook.sheet_by_name(sheetname)

sheet指的是这个:

获取第一行数据:

rows = sheet.row_values(0)

print(rows)

获取总行数:

print(sheet.nrows)

组合起来的写法:

importxlrddefread_excel_data(filepath):

workbook=xlrd.open_workbook(filepath)

sheet=workbook.sheet_by_index(0)for index in range(1, sheet.nrows):

row_value=sheet.row_values(index)print(row_value)if __name__ == '__main__':

read_excel_data('test.xlsx')

前端文件形式发送,后端内存读取excel数据:

defanswer_upload(req, kf_type):importxlrd

file= req.FILES.get('file')

workbook= xlrd.open_workbook(file_contents=file.read())

sheet=workbook.sheet_by_index(0)

objs=[]for index in range(3, sheet.nrows):

row_value=sheet.row_values(index)

obj= Answer(keyword_name=row_value[0], answer=row_value[1], kf_type=kf_type)

objs.append(obj)

Answer.objects.bulk_create(objs)

res= {"status": 0, "message": "%s上传成功!" %file.name}return HttpResponse(json.dumps(res))

# 重点是xlrd.open_workbook得file_contents属性

第二种方式:pandas

安装模块:

pip install pandas -i

https://pypi.tuna.tsinghua.edu.cn/simple

导入模块:

import pandas as pd

读取文件:

data = pd.read_excel(io=file_path, sheet_index=0, header=0)

# io 表示excel文件路径

# sheet_index 表示读取第几个sheet,sheet_name可指定名称,默认0

# header 表示表头最后是第几行,读取数据掠过表头数据用,默认为0第一行掠过去

查看行数:

len(data)

读取数据:

data.values[0] # 表示拿出第一行数据,不包含表头

命令行可视化表格:

data.head()

例子写法:

importpandas as pd

file_path= './test.xlsx'data= pd.read_excel(io=file_path, sheet_index=0, header=0)for ele in data.values: #data.values二维数组形式

print(ele[0], ele[1], ele[2])

python处理excel文件-python读取excel文件相关推荐

  1. python读取excel绘图_python3读取excel绘图-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 centos下编译安装 pyth ...

  2. 如何用Python语言编写源程序,读取Excel中数据,并画出柱状图?

    现在,随着计算机的普及,以及数据量的增多,对大型数据的分析已经是我们手算不能解决的了,必须借助计算机:那么,学习计算机其实也和我们学习中文.英文一样,要学习他们的写作规则,掌握其中原理.所以,我们首先 ...

  3. Python 将数据写入pkl文件,读取pkl文件

    Python 将数据写入pkl文件,读取pkl文件 写入pkl文件 data = {"name": ["李明", "胡莉"]} with o ...

  4. 【Python基础】生成.pkl文件,读取.pkl文件的内容

    保存 def save_dict(data, name):with open(name + '.pkl', 'wb') as f:pickle.dump(data, f, pickle.HIGHEST ...

  5. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  6. android读取assets中的html文件,android读取assets文件.htm

    android读取assets文件 android读取assets文件 style='FONT-SIZE: 14px; FONT-FAMILY: verdana, "ms song" ...

  7. java+读取source资源_如何从JavaJAR文件中读取资源文件?

    如何从JavaJAR文件中读取资源文件? 我试图从一个单独的JAR文件中访问一个XML文件,这个JAR是作为桌面应用程序运行的.我可以获得我需要的文件的URL,但是当我将它传递给FileReader( ...

  8. 【Python 2.7】xlrd读取Excel文件

    这篇博文参考于<Python 数据处理> 读取Excel文件需要用到xlrd模块,模块下载地址:xlrd下载地址 本博文中Excel文件下载地址:SOWC 2014 Stat Tables ...

  9. C#不用ArcEngine,生成Shp文件(五)---------读取.shx文件和生成.shx文件

    这一篇来写一下.shx文件的读取跟生成.测试数据下载地址为:http://download.csdn.net/detail/gis0911178/9650967 在第一篇时候有介绍. 索引文件(.sh ...

  10. 第四章:数据存储-csv文件处理-读取csv文件的两种方式

    直接学习:https://edu.csdn.net/course/play/24756/280718 csv文件处理-读取csv文件的两种方式: # 这种方式读取到的每一条数据是个列表,所以需要通过下 ...

最新文章

  1. 请求getServiceTime出错
  2. 吴恩达机器学习系列课程--个人笔记
  3. 什么是Microsoft Teams的App Studio
  4. mysql函数和索引冲突问题_Mysql索引常见问题汇总
  5. JPA中的@MappedSuperclass
  6. 如何手动实现C语言中的字符串操作
  7. Ubuntu 16.04安装录屏软件SimpleScreenRecorder
  8. [论文笔记]MACHINE COMPREHENSION USING MATCH-LSTM AND ANSWER POINTER
  9. mongodb 分组聚合_MongoDB 临时表横空出现 1 万+,这条语句执行前请准备好翻车的姿势...
  10. 制作多媒体网页html代码,Director制作多媒体网页
  11. 大数据时代的“拼图者”
  12. python第三方模块之pyquery
  13. Python学习笔记--正方形、六边形、叠边形、同切圆的绘制
  14. 关于EL表达式获取参数的两种方法
  15. 讯飞输入法 语音识别功能 台式机设置
  16. 连接mysql数据库报错Cannot create PoolableConnectionFactory
  17. [幽默网文]本寺特此公示释永信大和尚悔过书
  18. 志强分享:轻松实现日吸300+精准粉
  19. 解决问题过程记录: QuickTime初始化失败
  20. 干货|一分钟解决导出的fcpx或Motion项目太大问题

热门文章

  1. Apache Samza流处理框架介绍——kafka+LevelDB的Key/Value数据库来存储历史消息+?
  2. numpy insert
  3. 美化浏览器的radio和checkbox样式
  4. Java_io体系之BufferedWriter、BufferedReader简介、走进源码及示例——16
  5. maven构建SSM工程[应用]1
  6. 51nod 1013【快速幂+逆元】
  7. (转)JS window对象的top、parent、opener含义
  8. Contest2071 - 湖南多校对抗赛(2015.03.28)
  9. Spring知识点提炼
  10. android发送短信