2022-02-17 07:02来源:m.sf1369.com作者:宇宇
使用文件:
文件迭代器是最好的读取行工具,文件也有个迭代器会自动在for循环,列表解析或者其他迭代语句中对文件进行逐行读取。
读取内容是字符串,而不是对象,文件读取的数据回到脚本时是一个字符串
close是通常选项,文件上下文管理器是一种替代方法。但close()是一个好习惯。
其他文件工具
open函数及其返回的文件对象是python脚本中通向外部文件的主要接口,但还有其他的类似工具:
标准流,在sys模块中预先打开的文件对象
os模块中的描述文件
sockets、pipes和FIFO文件,文件类对象同步进程、网络通信
通过键来存取的文件,通过键直接存储的不变的python对象
Shell命令流,os.popen、subprocess.Popen这样的工具
第三方开源的文件类工具等
分别进入到xlrd和xlwt文件中对setup.py进行安装,安装命令为setup.py install进入python解释器,输入import xlwt,正常无报错即可下面是我写的一个将Excle文件中的数据读取到普通文本中,和从普通文本写到Excel的一个互换程序:[python] view plain copy#encoding:utf8 import xlrd import xlwt class OperExcel(): #读取Excel表 def rExcel(self,inEfile,outfile): rfile = xlrd.open_workbook(inEfile) #创建索引顺序获取一个工作表 table = rfile.sheet_by_index(0) #其他方式 #table = rfile.sheets()[0] #table = rfile.sheet_by_name(u'Sheet1') #获取整行,整列的值 table.row_values(0) table.col_values(0) #获取行数和列数 nrows = table.nrows - 1 ncols = table.ncols #循环获取列表的数据 #for i in range(nrows): # print table.row_values(i) wfile = open(outfile,'w') #获取第一列中的所有值 for i in range(nrows): #table.cell(i,0).value获取某一单元格的值 wfile.write(table.cell(i,0).value.encode('utf8') + '\n') wfile.close() #将数据写入Excel表 def wExcel(self,infile,outEfile): rfile = open(infile,'r') buf = rfile.read().split('\n') rfile.close() w = xlwt.Workbook() sheet = w.add_sheet('sheet1') for i in range(len(buf)): print buf[i] sheet.write(i,0,buf[i].decode('utf8')) w.save(outEfile) if __name__ == '__main__': t = OperExcel() t.rExcel('test.xls','test') t.wExcel('test','1.xls')