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实操教程

f68f07cca6efe843b67a22dee64708b8.png

如果觉得有用就点一下“在看”


	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值