bufferedreader读取中文乱码_Python读取excel的两种方法
excel是什么
Microsoft Excel是一个使用非常广泛的电子表格程序。它的用户友好性和吸引人的功能使其成为数据科学中常用的工具。对于excel来说,整个excel文件称为工作簿,工作簿中的每个页称为工作表,工作表又由单元格组成。这是区别于csv格式的一个重要的特征,也就意味着excel文档的处理需要考虑工作表、行、列,才能准确实现数据操作。
读取excel文件的方法主要有两种,一个方法是使用专门的excel读写包,另一个方法是使用pandas。
方法1
1. xlrd、xlwt
(1)读取excel数据
import xlrd #导入相应的库data = xlrd.open_workbook(r'C:\Users\Desktop\285城市人均GDP.xlsx') # 打开xls文件table = data.sheets()[0] # 打开第一张表nrows = table.nrows # 获取表的行数for i in range(nrows): # 循环逐行打印 if i == 0: # 跳过第一行 continue # 跳到前面再执行循环 print(table.row_values(i)) # 打印数
(2)写入excel数据,只支持2003xls的写入
import xlwtworkbook = xlwt.Workbook() sheet = workbook.add_sheet('sheet1',cell_overwrite_ok=True)sheet.write(0,0,'武汉市')sheet.write(0,1,'10579.5')sheet.write(0,2,'第一')sheet.write(1,0,'襄阳市')workbook.save(r'C:\Users\Desktop\湖北城市GDP.xls')print('创建excel文件完成')
2. openpyxl
openpyxl模块可实现对excel文件的读、写和修改,只能处理xlsx文件,不能处理xls文件,使用之前同样需要先安装该模块,再导入 import openpyxl。
对于openpyxl,行数和列数都从1开始,单元格的行和列也从1开始。例如sheet.cell(1,2).value表示第一行第二列单元格的内容
(1)读取excel数据
import openpyxl wb = openpyxl.load_workbook(r'C:\Users\Desktop\285城市人均GDP.xlsx') # 打开excel文件,获取工作簿对象ws = wb.active # 从表单中获取单元格的内容 print(ws.cell(row=1, column=2)) # 获取第一行第二列的单元格print(ws.cell(row=1, column=2).value)for i in range(1, 8, 2): # 获取1,3,4,7 行第二列的值 print(i, ws.cell(row=i, column=2).value) colC = ws['C'] # 获取整个C列print(colC)row6 = ws[6] # 获取第6行print(row6,type(row6))for cell in colC: # 打印colC单元格中的值内容 print(cell.value)
(2)写入excel数据
book = openpyxl.Workbook() #创建工作簿,如果写入中文为乱码,可添加参数encoding = 'utf-8'sheet = book.create_sheet('sheet1',0) #0表示创建的工作表在工作薄最前面sheet.cell(row=2,column=5).value=99 #向单元格写入内容:sheet1.cell(row=3,column=5,value=100)book.save(r'C:\Users\Desktop\湖北城市GDP.xlsx') #保存工作簿,默认保存在py文件相同路径下,如果该路径下有相同文件,会被新创建的文件覆盖print('创建excel文件完成')
方法2
1. pands读取excel数据
import pandas as pdpath = r'C:\Users\Desktop\湖北城市GDP.xlsx'pd.read_excel(path)
2. pands写入excel数据
lst =[['武汉','13410.34亿元','1'],['襄阳','4064.90亿元','2'],['宜昌','3857.17亿元','3']]dt = pd.DataFrame(lst)dt.to_excel(path)print('创建excel文件完成')
往期推文:
关于经济地理学笔记
Python读取csv文件常见的两种方法
从0开始学Python
第一个Python爬虫
第一个python文本分析——用jieba分词对国科大要闻速递进行分析
Python安装与环境配置
GIS的概念——《Python与开源GIS》
开源空间信息软件体系与技术概述——《Python与开源GIS》
面板门限(槛)模型
开工了开工了!空间计量模型系列教程一
空间计量模型系列教程二
情人节特辑之带有惊喜的空间计量模型系列教程三
空间计量模型系列教程四
空间计量模型系列教程五(完结啦)
经济地理基本认识:异质性与尺度、格局、结构、功能
2020年啦!做好自己,不负韶华
重磅!国务院印发《长江三角洲区域一体化发展规划纲要》
经济地理学是经济学还是地理学?附重点外文期刊目录
复旦大学城市经济研究所推荐阅读文献
北京大学《城市经济学》推荐阅读文献
CGE参考书||张欣_可计算一般均衡模型的基本原理与编程
空间计量|| matlab实现空间计量模型SAR、SEM、SDM
读书笔记|| 住房应该回归基本职能——读任泽平《房地产周期》
读书笔记||空间、效率与公平——读陆铭《大国大城》
MK突变检验的matla实现
CiteSpace实操教程
如果觉得有用就点一下“在看”吧
bufferedreader读取中文乱码_Python读取excel的两种方法相关推荐
- python 获取csv的列数_Python读取excel的两种方法
excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...
- python的三种取整方式_python 取整的两种方法
问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2"的这一过程:现在我们给这个过程起一个名字叫"取整".那么 ...
- python字符串成熟编码_python字符串转公式两种方法获取网页编码python版
在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...
- bufferedreader读取中文乱码_python字符乱码的解决小结
引言 无论学习什么程序语言,字符串这种数据类型总是着有非常重要.然而最近在学习python这门语言,想要显示中文,总是出现各种乱码.于是在网上查了很多资料,各说纷纭,我也尝试了许多的方法,有时候可以正 ...
- python提供了方法用于读取文本文件内容_python提供了哪三种方法用于读取文本文件的内容?...
三种方法分别是:"read()"."readline()"."readlines()"."read()"是一次性读取文件 ...
- flex前端+java后台实现Flex导出Excel的两种方法,
Flex前端+Java后台,要将Flex界面中AdvancedDataGrid的数据导出成Excel文件.有2种方法: 1.直接在前台导出. 使用开源项目as3xls,下载个解决了中文乱码的 ...
- Python筛选处理Excel的两种方法(openpyxl与pandas)
Python处理Excel数据,有两种思路, 一是通过相应的execl库进行操作,优点是最大限度保留了excel的特性,缺点是速度慢 另一种是以数据的思维,通过Pandas等库进行数据处理,速度快,缺 ...
- php 生成excel表格,PHP 生成Excel表格两种方法
1.使用PHP header()函数 (向浏览器输出Excel,即通过浏览器方式,下载生成的excel) 实例: /** * PHP 使用heade()函数生成excel表格 ExcelName为 ...
- bufferedreader读取中文乱码_python之pandas模块关于csv文件乱码问题解决
介绍 相信部分小伙伴们在处理windows系统生成的csv文件时会遇到中文显示乱码的问题,尤其是使用Excel打开这类文件时这类问题尤为突出. 解决 如图,我们通过Excel工具打开该csv文件时,中 ...
最新文章
- Elementary OS 系统Java8环境的配置
- android wear ios表盘,秒杀 Apple Watch,Android Wear 又有 17 款新表盘可以玩啦!
- 李宁是怎么输给安踏的?
- python选择日期控件_Python3 自己写了个DateCtrl日期控件 | 学步园
- core部署iis的 调试net_ASP.NET Core环境变量和启动设置的配置教程
- Android Architecture Blueprints----安卓架构详细分析
- 计算机设备问题代码43,win10系统提示由于该设备有问题windows已将其停止(代码43)的修复方案...
- 间隙锁(Gap Lock)
- python编程控制安捷伦电源_agilent_n6700_series 安捷伦电源 5,labview例程 267万源代码下载- www.pudn.com...
- UG自定义工程图模板(一)
- 共阳极管的代码_共阳极数码管显示
- 什么是千兆交换机和万兆交换机?它们有什么区别?
- Linux 对命令起别名
- 微型计算机 外储存器,微型计算机的外辅储存器是指什么
- 真肝,整理了一周的Spring面试大全【含答案】,吊打Java面试官
- 使用scoop下载Annie时提示couldnt find manifest for annie
- Flutter实践之高仿有妖气漫画,移动客户端开发工程师专业
- WEB 期末项目 小黑帽书屋
- 计算机诞生历史小故事
- 如果能天天送书,天天爽就好了,再送5本