热门标签 | 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脚本自动从中国指数有限公司网站抓取主板的市盈率、市净率和股息率等关键财务指标,并将这些数据存储到CSV文件中。涉及的技术包括网页解析、正则表达式以及异常处理。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • ABBYY FineReader:高效PDF转换、精准OCR识别与文档对比工具
    在处理PDF转换和OCR识别时,您是否遇到过格式混乱、识别率低或图表无法正常识别的问题?ABBYY FineReader以其强大的功能和高精度的识别技术,完美解决这些问题,帮助您轻松找到最终版文档。 ... [详细]
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社区 版权所有