作者:小梅LMY | 来源:互联网 | 2024-12-25 21:45
本文详细介绍了Python中文件的基本操作,包括打开、读取、写入和关闭文件的方法,并通过实例展示了如何将Excel文件转换为CSV文件以及进一步转换为HTML文件。此外,还涉及了成绩等级替换的具体实现。
本文将详细介绍Python中的文件操作及数据格式转换,涵盖从基础的文件读写到复杂的数据处理。
### 一、Python 文件操作
在Python中,文件操作通常分为三个步骤:打开文件、执行读写操作、关闭文件。
#### 1. 打开文件
使用open()
函数可以打开文件,其语法如下:
file_object = open(file_name, mode)
模式 | 说明 |
r | 只读模式(默认),文件不存在则抛出FileNotFoundError异常 |
w | 覆盖写模式,文件不存在则创建,存在则覆盖写 |
x | 创建写模式,文件不存在则创建,存在则抛出FileExistsError异常 |
a | 追加写模式,文件不存在则创建,存在则追加写 |
t | 文本文件模式(默认) |
b | 二进制文件模式 |
+ | 在原有功能基础上增加读写功能 |
#### 2. 读取文件
方法 | 说明 |
file.read(size=-1) | 读取文件全部内容,若指定参数,则读取前size个字符或字节 |
file.readline(size=-1) | 读取一行内容,若指定参数,则读取该行前size个字符或字节 |
file.readlines(hint=-1) | 读取所有行并返回列表,若指定参数,则读取hint行 |
#### 3. 写入文件
方法 | 说明 |
file.write(s) | 写入字符串或字节流 |
file.writelines(lines) | 写入字符串列表 |
file.seek(offset) | 移动文件指针位置(offset值:0-文件开头;1-当前位置;2-文件结尾) |
#### 4. 关闭文件
file_object.close()
### 二、Excel文件转CSV文件
以下代码示例展示了如何使用Pandas库将Excel文件转换为CSV文件:
import pandas as pd
def xlsx_to_csv_pd():
data_xls = pd.read_excel('D:\Python作业\Python成绩登记信计.xlsx', index_col=0)
data_xls.to_csv('D:\Python作业\成绩登记表1.csv', encoding='gbk')
if __name__ == '__main__':
xlsx_to_csv_pd()
### 三、成绩等级替换
接下来,我们将“优秀”、“良好”、“合格”、“不合格”分别替换为90分、80分、60分、0分:
import os
import os.path
csv_path = os.getcwd() + "\\"
with open('D:\Python作业\成绩登记表.csv', 'r', encoding='gbk') as f:
cOntent= f.read()
t = content.replace("优秀", "90分")
t = t.replace("良好", "80分")
t = t.replace("合格", "60分")
t = t.replace("不合格", "0分")
with open('D:\Python作业\成绩登记表.csv', 'w', encoding='gbk') as f1:
f1.write(t)
### 四、CSV文件转HTML文件
最后,我们将CSV文件转换为HTML文件:
import pandas as pd
df = pd.read_excel('file:Python作业/成绩登记表.xlsx', index_col=None, na_values=['NA'])
df['一'] = df['一'].map({'优秀': 90, '良好': 80, '合格': 60, '不合格': 0})
df['二'] = df['二'].map({'优秀': 90, '良好': 80, '合格': 60, '不合格': 0})
df['三'] = df['三'].map({'优秀': 90, '良好': 80, '合格': 60, '不合格': 0})
df['四'] = df['四'].map({'优秀': 90, '良好': 80, '合格': 60, '不合格': 0})
df.to_html('C:/Users/86134/.spyder-py3/成绩表1.html')