热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python文件操作与数据转换

本文详细介绍了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')

推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 本文介绍如何使用 Python 获取文件和图片的创建、修改及拍摄日期。通过多种方法,如 PIL 库的 _getexif() 函数和 os 模块的 getmtime() 和 stat() 方法,详细讲解了这些技术的应用场景和注意事项。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • python时间序列之ADF检验(1)
    读取数据,pd.read_csv默认生成DataFrame对象,需将其转换成Series对象DataFrame和Series是pandas中最常见的2 ... [详细]
  • 理解与应用:独热编码(One-Hot Encoding)
    本文详细介绍了独热编码(One-Hot Encoding)与哑变量编码(Dummy Encoding)两种方法,用于将分类变量转换为数值形式,以便于机器学习算法处理。文章不仅解释了这两种编码方式的基本原理,还探讨了它们在实际应用中的差异及选择依据。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
author-avatar
小梅LMY
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有