python3文本读取与写入常用代码
创建文件夹:
import os
import shutil
def buildfile(echkeyfile):
if os.path.exists(echkeyfile):
#创建前先判断是否存在文件夹,if存在则删除
shutil.rmtree(echkeyfile)
os.makedirs(echkeyfile)
else:
os.makedirs(echkeyfile)#else则创建语句
return echkeyfile#返回创建路径
#传入的参数是需要创建文件夹的路径,比如我想在D盘下创建一个名字为newfile的文件夹,则传入参数为r’ D:\newfile’。同样,返回的参数也是r’ D:\newfile’
写入文本1:
import codecs
def write_txt(txt, path):
f = codecs.open(path, 'a', 'utf8')
f.write(str(txt))
f.close()
# 传入参数为txt,path;txt为需要写入的内容,数据类型为字符串,path为写入的内容,数据类型为字符串。
# 传入的path需如下定义:path= r’ D:\text.txt’
# f = codecs.open(path, 'a', 'utf8')中,codecs为包,需要用impor引入,’a’表示追加写入txt,可以换成’w’,表示覆盖写入。'utf8'表述写入的编码,可以换成'utf16'等。
写入文本2(等同于写入文本1,但是这个比较常用):
import codecs
def writetxt(path, content, code):
with codecs.open(path, 'a', encoding=code)as f:
f.write(content)
return path+' is ok!'
读取txt:
def read_txt(path):
with open(path, 'r', encoding='utf8') as f:
lines = f.readlines()
return lines
# 表示按行读取txt文件,utf8表示读取编码为utf8的文件,可以根据需求改成utf16,或者GBK等。
# 返回的为数组,每一个数组的元素代表一行,若想返回字符串格式,可以将改写成return ‘\n’.join(lines)
读取Excel文件:
import xlrd
def read_xls(path):
xl = xlrd.open_workbook(path)
sheet = xl.sheets()[0] # 0表示读取第一个工作表sheet
data = []
for i in range(0, sheet.ncols): # ncols表示按列读取
data.append(list(sheet.col_values(i)))
return data
# xlrd为第三方包,可以通过用pip下载,具体操作:打开运行,输入cmd→在cmd中输入pip install xlrd,enter →等待安装完成即可。在后续若存在需要使用的第三方包,都可以通过这种方式下载和安装。
# 传入参数为path,path为excel所在路径。
# 传入的path需如下定义:path= r’ D:\excel.xlsx’或path= r’ D:\excel.xls’
# col_values(i)表示按照一列中的所有单元格遍历读取
# 可以根据需求,把col替换成row,则表示按行读取
# return data :返回的data是一个二维数组,根据col和row,传回的数据呈现形式也不同,即row是col的转置。
遍历文件夹:
def file_walker(path):
fileArray = []
for root, dirs, files in os.walk(path):
for fn in files:
eachpath = str(root+'\\'+fn)
fileArray.append(eachpath)
return fileArray
# 传入参数为path,path为需要遍历的文件夹路径。
# return fileArray 返回的是当前文件下所有文件的绝对路径
python3文本读取与写入常用代码的更多相关文章
- sublime python3中读取和写入文件时如何解决编码问题
# -*- coding: utf-8 -*- #分析用户身份审核信息 #python 3.5 #xiaodeng #http://apistore.baidu.com/apiworks/servic ...
- GOEXIF读取和写入EXIF信息
最新版本的gexif,直接基于gdi+实现了exif信息的读取和写入,代码更清晰. /* * File: gexif.h * Purpose: cpp EXIF reader * 3/2/2017 & ...
- C#中创建、打开、读取、写入、保存Excel的一般性代码
---转载:http://hi.baidu.com/zhaocbo/item/e840bcf941932d15fe358228 1. Excel对象微软的Excel对象模型包括了128个不同的对象,从 ...
- Java底层代码实现单文件读取和写入(解决中文乱码问题)
需求: 将"E:/data/车站一次/阿坝藏族羌族自治州.csv"文件中的内容读取,写入到"E:/data//车站一次.csv". 代码: public cla ...
- Logstash读取文本信息并写入到ES
Logstash读取文本信息并写入到ES 前提是ELK安装没问题 进入到logstash安装目录下的bin目录(我的logstash安装目录:/usr/local/) [root@es1 bin]# ...
- Qt常用UI控件读取、写入方法
本文用途:快速备忘,方便调用,写熟了自然就记下了. [1.标签label] 读取:ui->label->text() 写入:ui->label->setText("p ...
- Java IO_003.Reader与Writer--字符流以及编码对数据的操作(读取与写入)
Java IO之Reader与Writer对象常用操作(包含了编码问题的处理) 涉及到文件(非文件夹)内容的操作,如果是纯文本的情况下,除了要用到File(见之前文章),另外就必须用到字符输入流或字符 ...
- Delphi txt文件读取及写入
简介:Delphi支持三种文件类型:文本文件.记录文件.无类型文件.文本文件的读... 在进行win32开发中对文件的读写是最常用的操作之一 Delphi 支持三种文件类型: 文本文件.记录文件 ...
- Java读取、写入、处理Excel文件中的数据(转载)
原文链接 在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Ex ...
随机推荐
- 程序员生存之道,多写bug!
1.代码写得好,bug少,看起来就像闲人. 2.注释多,代码清晰,任何人接手非常方便,看起来谁都都可以替代. 3.代码写得烂,每天风风火火改bug,各种救火,解决各种线上重大问题,于是顺理成章为公司亮 ...
- 【C++札记】函数重载
概述 函数重载指在相同作用域中多个函数名相同,函数的形参不同. 遵循规则: 1.函数名相同 2.函数的参数,类型,个数或顺序不一样都可以构成重载. 3.函数返回值得类型不同不构成重载,编译直接报错,存 ...
- java笔记3
面向对象的特点: 1.封装: 2.继承 3.多态 好处: 是一种符合人们思考习惯的思想 可以将复杂的事情简单化 将程序员从执行者变为指挥者 二 类与对象 成员变量与局部变量的区别: ...
- [基础]C++:名字的作用域
每个名字都有自己的活动空间,同一个名字在不同的作用域可能指向不同的实体. 作用域:通常是以{}为分隔. 名字的有效区域开始于名字的声明,以声明语句所在的末端为结束. #include<iostr ...
- LeetCode第152场周赛(Java)
这算是我第一次正式参加 LeetCode 的周赛吧.通过两道题.意料之中(通过上次模拟可以看出来).总的来说,脑袋还是不太灵光.想的有点慢.全球第一名 0:10:19 就全部通过...感觉我的智商被狠 ...
- Unity的学习笔记(摇杆制作)
最近看到了一个很新颖的摇杆,就是按下后,会出现在按下的位置,并且拖着走的时候,到一定距离整个摇杆也会跟着走,于是自己测试做了一下这种摇杆 首先,先说一下我的摇杆预设体结构 代码挂在哪里都无所谓,关键是 ...
- Celery定时任务细讲
Celery定时任务细讲 一.目录结构 任务所在目录 ├── celery_task # celery包 如果celery_task只是建了普通文件夹__init__可以没有,如果是包一定要有 │ ├ ...
- 【洛谷 P5357】 【模板】AC自动机(二次加强版)(AC自动机,差分)
每次匹配都不停跳fail显然太慢了,于是在每个节点和fail指向的点连一条边,构成一棵树,在这棵树上差分一下就好了. AC自动机 就这个算法而言其实没用想象中那么难. #include <cst ...
- Android JSBridge原理与实现
在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异.大多数人都知道WebView存在一个漏洞,详细信息见你不知道的 Android WebView 使用漏洞,虽然该 ...
- Delphi-RzDbgrid-绘制表格式设置某行颜色或者其他格式-以及隔行换色的属性
参考文章:https://www.cnblogs.com/OSKnown/p/8568740.html 在DbgridEh和原生的Dbgrid直接在DrawColumnCell事件中写重绘代码就好了, ...