python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

让我们开展Python读取和保存为Excel、CSV、TXT文件及对DataFrame文件的基本操作指南。本攻略将涵盖Python中处理文件的基础知识、如何使用pandas库读取和保存各种格式的文件, 以及如何对pandas DataFrame文件进行基本操作。

一、Python基本文件处理和打开文件

Python使用open()函数打开文件,该函数接受两个参数,第一个是文件名,第二个是文件访问模式。文件名是相对路径或绝对路径,文件访问模式是指您打算使用文件的方式。

文件访问模式:

  • r —— 读取模式,只能读取文件的内容,不能修改文件。
  • w —— 写入模式,可以删除文件的内容,然后把它写入新的数据。
  • a —— 追加模式,可以在文件末尾添加新的内容,保留原来的数据。
  • x —— 独占模式,只能用于新文件的创建,如果文件已经存在,打开失败。
  • b —— 二进制模式,用于非文本文件,例如图像和声音文件。
  • t —— 文本模式(默认模式),用于文本文件。

示例1:打开一个文本文件(只读模式)

f = open('text.txt', 'r')
content = f.read()
print(content)
f.close()

示例2:将文本写入文件(覆盖)

f = open('text.txt', 'w')
f.write('这是要写入文件的文本')
f.close()

更多信息请参阅Python官方文档的说明:Python文件操作文档

二、使用Pandas读取和保存文件

Pandas是一种开源数据分析工具,常用于数据预处理和数据分析。Pandas提供了一个高效的数据结构,称为DataFrame。它类似于Excel表格,但可以处理更大的数据集。

2.1 读取Excel文件

首先,让我们看一下如何读取Excel文件。
使用pandas库中的read_excel函数来读取Excel文件。此函数需要文件名并将返回一个DataFrame对象。

import pandas as pd

df = pd.read_excel('example.xlsx')
print(df)

2.2 保存数据到Excel文件

现在我们来看看如何将数据保存到Excel文件中。
使用to_excel方法将数据保存到Excel文件中。此方法将DataFrame对象保存到指定的文件名中。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

df.to_excel('example.xlsx', index=False)

2.3 读取CSV和TXT文件

顾名思义,“CSV格式”表示从逗号分隔值中读取数据的格式,而“TXT格式”(即文本文件格式)表示只提供文本数据的格式。
我们可以使用read_csv函数来读取CSV和TXT文件。

import pandas as pd

df_csv = pd.read_csv('example.csv')
df_txt = pd.read_csv('example.txt', delimiter='\t')

2.4 保存数据到CSV和TXT文件

您可以使用to_csv方法将数据保存为CSV或TXT文件。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

df.to_csv('example.csv', index=False)
df.to_csv('example.txt', index=False, sep='\t')

三、Pandas DataFrame基本操作

对于读取和保存文件,您已经掌握了pandas。现在,您可以了解如何对Pandas DataFrame进行基本操作。

3.1 DataFrame数据预览

在操作DataFrame之前,让我们首先预览数据集的内容。使用head()方法可以查看前几行数据(默认前5行),tail()方法可以访问后几行数据。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

print(df.head())
print(df.tail())

3.2 DataFrame基本统计数据

describe()方法可以为数据集创建简单的描述统计数据集,并计算每个特征的最小值、最大值等等。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

print(df.describe())

3.3 DataFrame基本操作

3.3.1 筛选

Pandas DataFrame提供了多种选择数据的方法。例如我们可以使用iloc根据行位置选择数据,使用loc根据标签选择数据。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

# iloc根据行位置和列位置选择数据
print(df.iloc[0, :])  # 第一行所有列
print(df.iloc[:, 0])  # 所有行的第一列

# loc根据标签选择数据
print(df.loc[0, 'name'])  # 第一行的name

3.3.2 过滤

Pandas DataFrame提供了从数据集中选择行和列的方法。
我们可以使用query函数过滤行,也可以使用特殊语法语句(与或非)过滤行。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

# 过滤行
df2 = df.query('age > 28')
print(df2)

# 特殊语法过滤行
df3 = df[(df['age'] > 28) | (df['gender'] == 'M')]
print(df3)

# 过滤列
df4 = df[['name', 'age']]
print(df4)

3.4 转换数据

对于一个数据集,您可能需要对它进行转换才能使用它。
Pandas DataFrame提供了多种转换数据的方法。例如,我们可以通过使用apply函数转换数据集。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'],
        'age': [25, 30, 35],
        'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)

def get_name_length(name):
    return len(name)

df['name_length'] = df['name'].apply(get_name_length)
print(df)

这是一个提取'名字'列的字符串长度的示例。

四、示例

现在,我们通过一个实际的数据集对前面的内容进行实践,来检查读取、处理和保存文件的技巧。

任务说明:在本次任务中,我们将载入鸢尾花数据集,选择适当的特征和算法来训练模型,并将结果保存到一个CSV格式的文件中。

  1. 导入必要的库和模块。
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
  1. 读取数据集并创建DataFrame。
iris = load_iris()
df = pd.DataFrame(
    iris['data'],
    columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
)
df['target'] = iris['target']
  1. 数据预处理。

我们可以根据任务需求选择适当的特征。

x = df.loc[:, ['petal_length', 'petal_width']]
y = df['target']
  1. 拆分数据集。

在拆分数据之前,您需要将数据集中的特征和标签分开。您可以使用train_test_split方法来拆分数据集。

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
  1. 训练和预测数据集。

使用KNN算法训练数据集并预测获得的结果。

knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(x_train, y_train)
y_pred = knn.predict(x_test)
  1. 保存结果。
df_result = pd.DataFrame({'actual': y_test, 'predicted': y_pred})
df_result.to_csv('result.csv', index=False)

这是一个基于鸢尾花数据集的示例,您可以将此示例用于比较和学习。

以上是Python读取和保存为Excel、CSV、TXT文件及对DataFrame文件的基本操作指南的完整攻略。通过此攻略,您可以了解如何处理各种文件格式和Pandas DataFrame。感谢您的阅读!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python爬虫基础知识点整理

    以下是“Python爬虫基础知识点整理”的完整攻略: 一、Python爬虫基础知识点 1.1 爬虫的定义 爬虫是一种自动化程序,可以模拟人类在互联网上的行为,从网页中提取数据并保存到本地或数据库中。 1.2 爬虫的基本流程 爬虫的基本流程如下: 发送HTTP请求,获取网页内容。 解析网页内容,提取需要的数据。 保存数据到本地或数据库中。 1.3 爬虫的工具 …

    python 2023年5月14日
    00
  • 详解Python常用的魔法方法

    好的。下面就给大家详细地讲一下 Python 常用的魔法方法。 Python 常用的魔法方法 什么是魔法方法? 魔法方法是一种 Python 中特殊的方法,可以在类的实例化、运算符重载、属性调用等环节中进行自定义操作。 在 Python 中,官方定义了一些魔法方法(以双下划线作为前缀和后缀的方法名),如 __init__(), __add__() 等等,这些…

    python 2023年5月19日
    00
  • Python线程threading(Thread类)

    Python线程threading(Thread类)完整攻略 什么是线程 在计算机科学中,线程是操作系统能够进行运算调度的最小单位。一个线程就是进程中一个单一的顺序控制流程。 线程的特点 线程与进程不同,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计…

    python 2023年5月19日
    00
  • Python threading模块condition原理及运行流程详解

    Python threading模块condition原理及运行流程详解攻略 1. 什么是Python threading模块condition? Python threading模块定义了Condition类,它充当Thread间通信的一个中介。 它允许一个或多个线程等待另一个线程发出信号,以便它们可以继续执行。 2. Condition的使用流程 2.1…

    python 2023年5月19日
    00
  • Python利用networkx画图绘制Les Misérables人物关系

    Python利用networkx画图绘制Les Misérables人物关系 在这篇攻略中,我们将会学习如何使用networkx库来绘制Victor Hugo的小说《悲惨世界》(Les Misérables)中的人物关系图。 准备数据 首先,我们需要准备数据来绘制人物关系图。我们使用的是维克多·雨果的小说《悲惨世界》中人物关系的数据集,该数据集可以在gith…

    python 2023年5月18日
    00
  • 如何成为一名黑客

    如何成为一名黑客 前言 黑客是指对计算机系统及其安全弱点进行研究、攻击和防范的专家。与其他技术领域不同,成为一名黑客需要掌握多方面的知识和技能,涉及编程、网络、操作系统、安全防御等多个领域。黑客行为可能涉及到法律问题,本文所提供的内容仅供学习和参考,不得用于非法用途。 步骤 1. 学习编程语言 黑客需要具备扎实的编程基础,能够编写和理解代码。在学习编程的过程…

    python 2023年6月5日
    00
  • 详解Python如何实现对比两个Excel数据差异

    下面是详解Python如何实现对比两个Excel数据差异的完整实例教程。 1. 准备工作 首先需要安装Python的pandas模块,它可以用于读写Excel文件和进行数据处理。可以通过命令行输入以下指令来安装: pip install pandas 然后需要准备两个Excel文件,假设它们的文件名分别为old.xlsx和new.xlsx。这两个文件的格式应…

    python 2023年5月13日
    00
  • python编写简易聊天室实现局域网内聊天功能

    下面是详细讲解 “Python编写简易聊天室实现局域网内聊天功能” 的完整攻略。 1. 确定需求 在开始编写简易聊天室之前,首先需要明确需求,包括: 局域网内聊天:聊天室应该只能在局域网内使用,不能通过互联网访问。 实现简单:聊天室应该实现基本的聊天功能,同时代码实现应该尽可能简单。 支持多人聊天:聊天室应该支持多人同时聊天,任何人发出的消息都应该在所有人的…

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部