python编程--文件操作

1.txt文件
打开:with open(test.txt,mod=’’) as f:
读取:
f.read()读取整个
f.readline()读取一行
f.readlines()逐行读取
写入:
f.write(s)

2.csv文件
读取
1.避免中文乱码 f=codecs.opan(test.csv,“r”,“utf_8_sig”)
2.读取文件内容 data=csv.reader(f)
3.跳过表格首行 for line in itertools.islice(data,1,None) data:迭代对象,1:开始迭代的位置,None:结束位
写入
heaer=[“user”,“pwd”]
rows=[(“root”,“123”),(“admin”,“123”)]
1.打开表格 f=codecs.open(test.csv,“r”,“utf_8_sig”)
2.写入表格 wr=f.writer(f) / f.writerow(header) / f.writerows(rows)

3.json文件
序列化:将对象的状态信息转换为可以存储或者通过网络传输的过程
反序列化:反向
json.dumps(dict) str<-dict 编码 json.dump(data,f) 写入json文件<-dict
json.loads(str) str->dict 解码 json.load(f) 读取json文件->dict

4.xml文件
4.1解析
DOM:把整个文档读入内存并解析为树,占用内存大且速度慢,但可以任意遍历树的节点
SAX:流模式,边读边解析,占用内存小速度快,但需要自己处理事件
ElenmentTree:结合了上述的优点
1)导入ElementTree模块 imprt xml.etree.ElementTree as et
2)解析xml文件 tree=rt.parse(‘test.xml’)
3)获取根节点 root=tree.getroot()
3)获取指定节点 node=root.iter()或root.iter(tag=“animal”)
4)循环获取子节点 for ele in node:print( ele.text)
5)获取节点的属性 标签:ele.tag; 值: ele.text;属性:ele.attrib
查找节点 root.find(“animal”).text
查找所有节点 root.findall(“animal”)
4.2创建
1)创建根节点 rt=et.Element(“root”)
2)创建子节点 node=et.SubElement(rt,“sub1”) 参数1:父节点,参数2:子节点名称
3)为节点添加属性和内容 node.attrib={“tpye”:“input”} node.text=“cat”
4)创建树对象 tree=et.ElementTree(root)
5)写入文件 tree.write(“test.xml”,encoding=‘utf-8’)
4.3修改
1)解析xml文件,获取根节点 tree = et.parse(‘test.xml’);root = tree.getroot()
2)查找要修改的元素 root.find(“animal”)
3)设置元素属性/内容 ele.set(“type”,“pwd”)或ele.text=‘dog’
4)保存变更 tree = et.ElementTree(root);tree.write(“test.xml”)

5.xls表格
5.1读
1)打开工作表 rb=xlrd.open_workbook(fp)
2)读取sheet页 sht=rb.sheet_by_index()/name()
3)读取行和列 n=sht.nrows; l=sht.ncols
4)循环读取行/列/格子
line=sht.row_values(rowx=i, start_colx=0, end_colx=cols)
cols=sht.col_values(colx=i, start_rowx=0, end_rowx=rows)
vale=sht.cell(i,j)
5.2.1复制修改:
1)复制一个表格 rb=xlrd.open_workbook(“test.xls”);wb=copy(rb)
2)读取sheet页 sht=wb.sheet_by_index()/name()
3)写入数据 sht.write(i, j, value)
4)保存 wb.save(“test1.xls”)
5.2.2新建表格写入
1)新建表格对象 wb=xlwt.Workbook()
2)添加sheet页 sht=wb.add_sheet(“name”)
3)写入值 sht.write(1,1,“wo”)
4)保存 wb.save(‘test.xls’)

你可能感兴趣的:(python语言)