1,文件读书笔记
Python文件读写
打印到屏幕
print
语句,可以传递零个或多个由逗号分隔的表达式。此函数将传递的表达式转换为字符串,并将结果写入标准输出,如下所示:raw_input()
函数。 input()
函数可以从键盘读取数并作为字符串类型,而不管它是否用引号括起来(“或”“)。打开和关闭文件
在前面我们学习读取和写入标准的输入和输出。 现在,来看看如何使用实际的数据文件。Python提供了默认操作文件所必需的基本功能和方法。可以使用文件对象执行大部分文件操作。
打开文件
在读取或写入文件之前,必须使用Python的内置open()
函数打开文件。此函数创建一个文件对象,该对象将用于调用与其相关联的其他支持方法。
file object = open(file_name [, access_mode][, buffering])
参数详细信息 -
-
file_name -
file_name
参数是一个字符串值,指定要访问的文件的名称。 -
access_mode -
access_mode
确定文件打开的模式,即读取,写入,追加等。可能的值的完整列表如下表所示。 这是一个可选参数,默认文件访问模式为(r
- 也就是只读)。 -
buffering - 如果
buffering
值设置为0
,则不会发生缓冲。 如果缓冲值buffering
为1
,则在访问文件时执行行缓冲。如果将缓冲值buffering
指定为大于1
的整数,则使用指定的缓冲区大小执行缓冲操作。如果为负,则缓冲区大小为系统默认值(默认行为)。
以下是打开文件使用的模式的列表 -
文件对象属性
打开一个文件并且有一个文件对象后,可以获得与该文件相关的各种信息。
以下是与文件对象相关的所有属性的列表 -
编号 | 属性 | 描述 |
---|---|---|
1 | file.closed |
如果文件关闭则返回true ,否则返回false 。 |
2 | file.mode |
返回打开文件的访问模式。 |
3 | file.name |
返回文件的名称。 |
注意 - Python 3.x中不支持softspace
属性
close()方法
文件对象的close()
方法刷新任何未写入的信息并关闭文件对象,之后不能再进行写入操作。
当文件的引用对象重新分配给另一个文件时,Python也会自动关闭一个文件。但使用close()
方法关闭文件是个好习惯。
语法
fileObject.close();
文件对象属性
打开一个文件并且有一个文件对象后,可以获得与该文件相关的各种信息。
以下是与文件对象相关的所有属性的列表 -
编号 | 属性 | 描述 |
---|---|---|
1 | file.closed |
如果文件关闭则返回true ,否则返回false 。 |
2 | file.mode |
返回打开文件的访问模式。 |
3 | file.name |
返回文件的名称。 |
读取和写入文件
文件对象提供了一组访问方法,使代码编写更方便。下面将演示如何使用read()
和write()
方法来读取和写入文件。
write()方法
write()
方法将任何字符串写入打开的文件。 重要的是要注意,Python字符串可以是二进制数据,而不仅仅是文本。
write()
方法不会在字符串的末尾添加换行符(‘\n
‘)
语法
fileObject.write(string);
read()方法
read()
方法用于从打开的文件读取一个字符串。 重要的是要注意Python字符串除文本数据外可以是二进制数据。。
语法
fileObject.read([count]);
这里,传递参数 - count
是从打开的文件读取的字节数。 该方法从文件的开始位置开始读取,如果count
不指定值或丢失,则尽可能地尝试读取文件,直到文件结束。
文件位置
tell()
方法用于获取文件中的当前位置; 换句话说,下一次读取或写入将发生在从文件开始处之后的多个字节数的位置。
seek(offset [,from])
方法更改当前文件位置。 offset
参数表示要移动的字节数。 from
参数指定要移动字节的引用位置。
如果from
设置为0
,则将文件的开头作为参考位置。 如果设置为1
,则将当前位置用作参考位置。 如果设置为2
,则文件的末尾将被作为参考位置。
Python中的目录
所有文件都包含在各种目录中,Python处理目录问题也很容易。 os
模块有几种方法可以用来创建,删除和更改目录。
mkdir()方法
使用os
模块的mkdir()
方法在当前目录中创建目录。需要为此方法提供一个参数,指定要创建的目录的名称。
语法
os.mkdir("newdir")
getcwd()方法
getcwd()
方法用于显示当前工作目录。
os.getcwd()
rmdir()方法
rmdir()
方法删除该方法中作为参数传递的目录。删除目录之前,应删除其中的所有内容。
2,处理excel表格,优秀变为90分,良好80分,及格60分,未交0分。
处理过程如下:
1 import pandas as pd 2 def ExcelToCsv(StartName, SheetName, EndName): 3 grade = pd.read_excel(StartName, sheet_name=SheetName) 4 for i in range(len(grade.index)): 5 for j in range(1, len(grade.columns)): 6 if grade.iloc[i, j] == ‘优秀‘: 7 grade.iat[i, j] = 90 8 elif grade.iloc[i, j] == ‘良好‘: 9 grade.iat[i, j] = 80 10 elif grade.iloc[i, j] == ‘合格‘: 11 grade.iat[i, j] = 60 12 else: 13 grade.iat[i, j] = 0 14 grade.to_csv(EndName) 15 16 ExcelToCsv("C:\\tmp\Python成绩登记信计.xlsx", "Sheet1", "C:\\tmp\Python成绩登记信计.csv") 17 f=pd.read_csv(‘C:\\tmp\Python成绩登记信计.csv‘)
3,将上述csv文件变为html文件格式
其实只需要在上述代码后添加一行代码即可
f.to_html(‘C:\\Users\透心凉i\.spyder-py3\Python成绩登记信计.html‘)
结果如下:
4,运用python CGI把上述文件用网页显示并截屏,参见下期(由于技术原因)