先上代码

from openpyxl import workbook,load_workbook
class HomeWork():
def creat_xlsx(self):
"""
创建excel文件在当前目录
:return:
"""
wb = workbook.Workbook()
ws = wb.active
ws.title = "homework_sheet"
list = ("床前明月光","疑是地上霜","举头望明月","低头思故乡")
for i in range(1,5):
ws.cell(1,i).value = list[i-1] list1 = ("锄禾日当午","汗滴禾下土","谁知盘中餐","粒粒皆辛苦")
for i in range(1,5):
ws.cell(2,i).value = list1[i-1] wb.save("HomeWork.xlsx")
wb.close()
def read_xlsx(self,xlsx = "HomeWork.xlsx",ws = "homework_sheet"):
"""
读取excel文件中数据并整理成列表返回
:param xlsx:
:param ws:
:return:
"""
wb = load_workbook(xlsx)
ws = wb.get_sheet_by_name(ws)
list = []
list1 = []
for i in range(1,ws.max_row+1):
for j in range(1,ws.max_column+1):
str = ws.cell(i,j).value
list.append(str)
list1.append(list.copy())
list.clear()
wb.close()
return list1
def edit_xlsx(self,xlsx_row = None,xlsx_column= None,xlsx_str= None,xlsx = "HomeWork.xlsx",ws = "homework_sheet"):
"""
在指定位置写入数据
:param xlsx:
:param ws:
:return:
"""
wb = load_workbook(xlsx)
ws = wb.get_sheet_by_name(ws)
ws.cell(xlsx_row,xlsx_column).value = xlsx_str
wb.save(xlsx)
wb.close()
if __name__ == "__main__":
homework = HomeWork()
# 创建文件
homework.creat_xlsx()
# 读取文件并整理
read_list = homework.read_xlsx()
print(read_list)
#写入
i = int(input("请输入你要编辑的行数:"))
j = int(input("请输入你要编辑的列数:"))
str = input("请输入你要替换的数据:")
homework.edit_xlsx(i,j,str)

  从创建到读写都涉及到的三组方法,相关的用法百度很多,就不一一说明了。

  注意点三处:

        1.文件创建/读/写的最后都不要忘记save和close,不然很可能吃力不讨好

        2.出现Permission denied报错不要慌张,如果是windows平台,第一时间查看文件是否手动打开了,然后查看写入的数据格式是否正确;如果是linux平台或者类似平台,可以手动赋予权限

        3.打开/创建的文件名需要带后缀,并且后缀一定要是xlsx,不然会出现文件无法识别的报错

        4.如果不是汉字而是输出其他类型内容,比如字典、列表或者元祖,可以使用eval(str)来转换

openpyxl一点心得的更多相关文章

  1. WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信

    原文:WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信 最近工作需要,学习了一下winform内嵌webbrowser控件,然后与htm页面中的javasc ...

  2. 使用Webbrowser的一点心得体会

    原文:使用Webbrowser的一点心得体会 自从用上VS2005后,发现多了个WebBrowser控件(.net 2003中不带),为图方便吧,有好多小工具就用这个写的,慢慢也有点体会了,总结一下, ...

  3. 谈谈选用技术的原则,技术学习方法技巧,阅读代码的技巧及其它 MSF的一点心得

    谈谈技术原则,技术学习方法,代码阅读及其它(正文) 这篇文章是前一阵在水木BBS上和别人讨论中偶自己发言的摘编,是偶这几年开发过程完全经验式的总结.完全个人经验,供批判. 一.选用技术的原则 比较规范 ...

  4. 【并行计算与CUDA开发】基于NVIDIA显卡的硬编解码的一点心得 (完结)

    原文:基于NVIDIA显卡的硬编解码的一点心得 (完结) 1.硬解码软编码方法:大体流程,先用ffmpeg来读取视频文件的包,接着开启两个线程,一个用于硬解码,一个用于软编码,然后将读取的包传给解码器 ...

  5. 关于使用Exception的一点心得

    毫无疑问,Exception有很多优点.查看任何一本面向对象的书籍,都会提到异常相对于返回值标记状态的不足以及避免错误导致程序崩溃的问题.看起来是很好的,用起来也是很好的.可是这么多年过去了,异常用的 ...

  6. SVM一点心得体会

    支持向量机的学习说是刚刚开始,又不合理,只能说隔了很长的时间再看,终于在分类这块的层面上有了新的认识. 总的来说,支持向量机分为线性支持向量机和非线性支持向量机,线性支持向量机又可以分为硬间隔最大化线 ...

  7. 记录自己对EventLoop和性能问题处理的一点心得

    1.EventLoop 这里说的EventLoop不是指某一个具体的库或是框架,而是指一种程序实现结构.这种结构多是基于IO多路转接的API(select.poll.epoll之类)以reactor模 ...

  8. 从Eclipse转移到IntelliJ IDEA一点心得

    http://www.ituring.com.cn/article/37792 本人使用IntelliJ IDEA其实并不太久,用了这段时间以后,觉得的确很是好用.刚刚从Eclipse转过来的很多人开 ...

  9. Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸

    一.引言 Android的开源使厂商无需自行研发OS,大大降低了研发.生产的成本,使得Android平板品牌如雨后春笋般爆发,山寨机厂商们似乎又找到了一丝希望.与此同时带来的是广大开发者的苦不堪言,各 ...

随机推荐

  1. 数据库if判断语句

    THEN '青年' ELSE '未成年' END) as age_text from user 更多写法参考:http://www.cnblogs.com/martinzhang/p/3220595. ...

  2. [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点

    深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...

  3. Sublime Text3 离线安装Package Control并使用GBK编码 --转自https://blog.csdn.net/swhard/article/details/78930371

    1.关闭Sublime Text 3,去https://github.com/wbond/package_control/releases下载一个zip包,我下载的是 2.将包内的顶层文件夹解压至C: ...

  4. java socket 基础操作

    服务端: public class Server { public static void main(String[] args) throws Exception { //1.创建一个服务器端Soc ...

  5. Webpack 模块处理

    webpack模块处理 1. ES6 静态Import ES6的import会被转化为commonjs格式或者是AMD格式,babel默认会把ES6的模块转化为commonjs规范的. import ...

  6. webRTC中音频相关的netEQ(一):概述

    上篇文章(语音通信中终端上的时延(latency)及减小方法)说从本篇开始会切入webRTC中的netEQ主题,netEQ是webRTC中音频技术方面的两大核心技术之一(另一核心技术是音频的前后处理, ...

  7. idea引用本地jar包的方法及报错解决

    1 首先将本地jar包打入mvn本地仓库 cmd mvn install:install-file -Dfile=E://xx.jar 本地jar包绝对路径 -DgroupId=com.ccp -Da ...

  8. kafka性能调优(转)

    原文  https://blog.csdn.net/weixin_39478115/article/details/79155287 Broker参数配置 1.网络和io操作线程配置优化 # brok ...

  9. Highcharts绘制曲线图小结

    Higcharts绘制曲线图很好用! 虽然说Highcharts官网有API 刚接触这个领域,学有心得,理解不到位之处希望大家多多指教! 项目绘制的曲线是:平均水位随时间的变化而改变的水情走势图. 主 ...

  10. ftp服务器使用-windowsftp服务起搭建

    首先打开控制面板选择程序 点击启动或关闭windows功能 勾选ftp服务器和IIS管理控制台点击确定 然后右键点击我的电脑,点击管理,然后点击本地用户和组,然后右键点击用户,点击新用户,创建一个用户 ...