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 opencv实现信用卡的数字识别

    下面我将详细讲解“Python OpenCV实现信用卡的数字识别”的完整攻略,包括以下步骤: 准备工作 首先,我们需要安装OpenCV和NumPy库,可以通过以下命令在终端或命令行中安装: pip install opencv-python pip install numpy 数字预处理 在进行数字识别之前,我们需要对原始图片进行预处理,包括二值化、去噪、定…

    python 2023年5月18日
    00
  • python机器学习基础线性回归与岭回归算法详解

    Python机器学习基础:线性回归与岭回归算法详解 线性回归 线性回归是一种基本的机器学习算法,它的目的是在给定的数据集上拟合一条直线,以便预测新的数据点。在Python中,我们可以使用scikit-learn库来实现线性回归算法。 线性回归的原理 线性回归的原理是通过最小化预测值与真实值之间的差距来拟合一条直线。这个差距可以用平方误差来表示,即: $$\t…

    python 2023年5月14日
    00
  • 如何利用python创建、读取和修改CSV数据文件

    当然,下面我将详细讲解如何利用python创建、读取和修改CSV数据文件的完整攻略。 创建CSV文件 要创建CSV文件,我们可以使用Python内置的csv库。可以使用csv.writer对象将数据写入CSV文件中。假设我们要写入以下数据: 名称 得分 Alice 90 Bob 85 Cindy 75 David 80 Emily 95 以下是Python代…

    python 2023年6月3日
    00
  • 使用Python-OpenCV消除图像中孤立的小区域操作

    当我们在处理图像时,有时会遇到一些孤立的小区域干扰我们的结果,这时我们可以使用Python-OpenCV库来消除它们。 下面是消除图像中孤立的小区域的完整操作攻略: 1.导入Python-OpenCV库 在Python代码开头,我们需要导入Python-OpenCV库,代码如下: import cv2 2.读取图像 在代码中使用以下代码读取要处理的图像: i…

    python 2023年5月18日
    00
  • python基于Pandas读写MySQL数据库

    想要实现Python基于Pandas读写MySQL数据库,需要以下步骤: 1.安装Pandas和mysql-connector-python 使用以下指令安装Pandas和mysql-connector-python,确保这两个依赖项已经正确安装: pip install pandas pip install mysql-connector-python 2…

    python 2023年6月6日
    00
  • python实现自动化脚本编写

    Python实现自动化脚本编写攻略 自动化脚本编写是指利用编程语言等工具自动化执行某些操作,提高工作效率和减少人工错误的发生。Python是一门易于学习和使用的编程语言,在自动化脚本编写中有着广泛应用。以下是实现自动化脚本编写的攻略: 第一步:了解需要自动化的任务 在开始自动化脚本编写前,我们需要了解需要自动化的任务,确定任务的目标和预期结果。例如,我们想要…

    python 2023年5月19日
    00
  • python得到windows自启动列表的方法

    下面是详细讲解“python得到windows自启动列表的方法”的完整攻略。 一、背景 在Windows系统中,有许多应用程序会在系统启动时自动运行,这些应用程序被称为自启动程序。在某些情况下,我们需要知道系统中所有的自启动程序是哪些,以便进行管理和维护。而Python作为一种强大的脚本语言,可以方便地获取Windows系统的自启动列表。 二、获取自启动列表…

    python 2023年6月3日
    00
  • python中的协程深入理解

    Python中的协程深入理解 协程是一种轻量级的线程,可以在单个线程中实现并发。在Python中,协程是通过生成器实现的。在本教程中,我们将深入理解Python中的协程,并提供两个示例,演示如何使用协程实现异步编程。 协程的基本概念 协程是一种特殊的函数,它可以在执行过程中暂停,并在需要时恢复执行。协程可以看作是一种更加灵活的线程,因为它可以在单个线程中实现…

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