Python之 文件运用(类型)

一、文件的使用--读书笔记

  文件打开关闭的代码

      

<变量名> = open(<文件名>,<打开模式>)

    打开模式有以下7个

打开模式 含义
'r' 只读模式,文件不存在,返回异常FileNotFoundError
'w' 覆盖模式,文件不存在则创建,存在则完全覆盖
'x' 创建写模式,文件不存在则创建,存在则返回异常FileNotFoundError
'a' 追加写模式,文件不存在则创建,存在怎在文件最后追加内容
'b' 二进制文本模式
't' 文本文件模式,默认值
'+' 与r/w/x/a一同使用,在原功能基础上增加同时读写功能

    文件的读取

操作方法 含义
<file>.read(size) 从文件中读入整个文件内容,如果给出参数,读入前size长度的字节串或字节流
<file>.readline(size) 从文件中读入一行内容,如果给出参数,读入前size长度的字节串或字节流
<file>.readlines(size) 从文件中读入所有行,如果给出参数,读入前size长度的字节串或字节流

    文件的写入

 方法  含义
 <file>.write(s)  向文件写入一个字符串或者字节流 
 <file>.writelines(lines)  将一个元素全为字符串的列表写入文件
 <file>.seek(offest)  改变当前文件操作指针位置,offset的值:0--文件开头;1--当前位置;2--文件开头

二、xlsx转csv,csv转html保存

           代码如下

    代码在第18行之前为将xlsx文件格式转化为csv,在第18行之后是将csv文件格式转化为html并保存下来

 1 # -*- coding: utf-8 -*-
 2 """
 3 Spyder Editor
 4 
 5 This is a temporary script file.
 6 """
 7 
 8 import pandas as pd
 9 df = pd.read_excel('D:\\test\Python成绩.xlsx')
10 da = df.to_csv('D:\\test\Python成绩.csv')
11 da = pd.read_csv('D:\\test\Python成绩.csv',index_col=0)
12 da = da.replace('优秀','90')
13 da = da.replace('良好','80')
14 da = da.replace('合格','60')
15 da = da.replace('不合格','10')
16 da = da.fillna(0)
17 print(da)
18 dc = da.to_csv('D:\\test\Python成绩.csv')
19 seg1 = '''
20 <!DOCTYPE HTML>\n<html>\n<body>\n<meta charset=utf-8>
21 <h1 align=center>Python成绩登记信计</h1>
22 <table border='1' align="center" width=100%>
23 <tr bgcolor='yellow'>\n'''
24 seg2="</tr>\n"
25 seg3="</table>\n</body>\n</html>"
26 def fill_data(locls):
27     seg = '<tr><td align="center">{}</td><td align="center">\
28     {}</td><td align="center">{}</td><td align="center">\
29     {}</td ><td align="center">{}</td></tr><td align="center">{}</td></tr>\n'.format(*locls)
30     return seg
31 fr = open("D:\\test\Python成绩.csv","r",encoding='utf-8')
32 ls = []
33 for line in fr:
34     line = line.replace("\n","")
35     ls.append(line.split(","))
36 print(ls)
37 fr.close()
38 fw = open("D:\\test\Python成绩.html","w",encoding='utf-8')
39 fw.write(seg1)
40 fw.write('<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n'.format(*ls[0]))
41 fw.write(seg2)
42 for i in range(len(ls)-1):
43     fw.write(fill_data(ls[i+1]))
44 fw.write(seg3)
45 fw.close

 输入代码界面如下(PS:用的是spyder)

 

按F5 运行代码,右下角无错误,并在指定文件位置创建了一个html文件

 

打开html便看到我们从xlsx格式文件中的数据

 

(PS:就是有点丑(笑声bb))

猜你喜欢

转载自www.cnblogs.com/qq1079179226/p/10835771.html