Python操作CSV格式文件的方法大全

下面是详细的讲解Python操作CSV格式文件的方法大全的完整实例教程:

CSV是什么?

CSV(Comma-Separated Values)即逗号分隔值,是一种常见的文件格式,用于存储数据。CSV文件以纯文本形式存储,每行为一条记录,每个字段之间以逗号分隔。

Python如何操作CSV文件?

Python提供了许多内置的模块来操作CSV文件,其中最常用的有 csv 模块、pandas 模块和 numpy 模块。下面将逐一介绍它们的操作方法。

CSV模块

使用 csv 模块,我们可以轻松地读取和写入CSV文件。

首先我们需要导入 csv 模块:

import csv

读取CSV文件

读取CSV文件的步骤如下:

  1. 打开文件并建立 csv.reader 对象。
  2. 使用循环遍历每一行,并对每一行进行处理。

下面是一个示例,其中 person.csv 是一个包括姓名、年龄和性别的CSV文件:

import csv

with open('person.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

输出结果为:

['Name', 'Age', 'Gender']
['Tom', '18', 'Male']
['Jerry', '20', 'Female']
['Bob', '25', 'Male']

注意: 当读取CSV文件时,csv.reader 默认以逗号作为分隔符,如果你的CSV文件中使用的是其他分隔符,可以通过设置 delimiter 参数来指定分隔符。

写入CSV文件

写入CSV文件的步骤如下:

  1. 打开文件并建立 csv.writer 对象。
  2. 使用 writerow 方法写入每一行。

下面是一个示例:

import csv

with open('person.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['Jack', '30', 'Male'])
    writer.writerow(['Lucy', '25', 'Female'])

以上代码将会在当前目录下生成一个名为 person.csv 的文件,并写入了三行数据。程序运行后,输出结果为空。

注意: 在写入CSV文件时,需要设置 newline 参数为空字符串,否则可能会出现每行之间多一个空行的情况。

Pandas模块

pandas 是一个专门用于数据分析和处理的Python库。它可以以表格形式轻松处理数据,并支持读取和写入多种格式的数据文件,其中包括CSV格式。

首先我们需要安装 pandas

!pip install pandas

读取CSV文件

读取CSV文件的步骤如下:

  1. 使用 pandas.read_csv 函数读取CSV文件。
  2. 使用 head 方法查看前几行数据。

下面是一个示例:

import pandas as pd

df = pd.read_csv('person.csv')
print(df.head())

输出结果为:

    Name  Age  Gender
0    Tom   18    Male
1  Jerry   20  Female
2    Bob   25    Male

注意: 在读取CSV文件时,pandas.read_csv 函数会将第一行作为表格的列名。

写入CSV文件

写入CSV文件的步骤如下:

  1. 使用 pandas.DataFrame 函数创建一个DataFrame对象。
  2. 使用 to_csv 方法写入CSV文件。

下面是一个示例:

import pandas as pd

df = pd.DataFrame({'Name': ['Jack', 'Lucy'], 'Age': [30, 25], 'Gender': ['Male', 'Female']})
df.to_csv('person.csv', index=False)

以上代码将会在当前目录下生成一个名为 person.csv 的文件,并写入了两行数据。程序运行后,输出结果为空。

注意: 在写入CSV文件时,需要将 index 参数设置为 False,否则会在文件中输出行号。

Numpy模块

numpy 是一个专门用于科学计算的Python库。它支持各种数学运算和数组操作,并支持读取和写入多种格式的数据文件,其中包括CSV格式。

首先我们需要安装 numpy

!pip install numpy

读取CSV文件

读取CSV文件的步骤如下:

  1. 使用 numpy.genfromtxt 函数读取CSV文件。
  2. 使用 print 方法查看数据。

下面是一个示例:

import numpy as np

data = np.genfromtxt('person.csv', delimiter=',', skip_header=1, dtype=None, names=['Name', 'Age', 'Gender'])
print(data)

输出结果为:

[(b'Tom', 18, b'Male') (b'Jerry', 20, b'Female') (b'Bob', 25, b'Male')]

注意: 在使用 numpy.genfromtxt 函数时,需要通过设置 skip_header 参数来跳过列名所在的第一行,并通过设置 names 参数来指定列名的名称。

写入CSV文件

写入CSV文件的步骤如下:

  1. 使用 numpy.savetxt 函数将数据写入CSV文件。

下面是一个示例:

import numpy as np

data = np.array([('Jack', 30, 'Male'), ('Lucy', 25, 'Female')], dtype=[('Name', 'U10'), ('Age', 'i4'), ('Gender', 'U10')])
np.savetxt('person.csv', data, delimiter=',', fmt='%s,%d,%s', header='Name,Age,Gender', comments='')

以上代码将会在当前目录下生成一个名为 person.csv 的文件,并写入了两行数据。程序运行后,输出结果为空。

注意: 在写入CSV文件时,需要通过设置 fmt 参数来指定每一列的格式,通过设置 header 参数来指定列名,通过设置 comments 参数为 '' 来去除行注释。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作CSV格式文件的方法大全 - Python技术站

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

相关文章

  • Python入门教程3. 列表基本操作【定义、运算、常用函数】 原创

    Python入门教程3.列表基本操作【定义、运算、常用函数】原创 在Python中,列表是一种非常常见的数据类型。列表基本操作是Python编程中的基础操作之一。本攻略将详细介绍Python列表的定义、运算、常用函数等。 列表的定义 在Python中,可以使用方括号[]来定义一个列表。以下是一些示例代码: # 定义一个列表 list1 = [1, 2, 3,…

    python 2023年5月13日
    00
  • 如何在Excel中比较两个字符串的相似性或突出不同之处

    以下是“如何在Excel中比较两个字符串的相似性或突出不同之处”的完整攻略,包含两个示例说明。 如何在Excel中比两个字符串的相似性或突出不同之处? 在Excel中,可以使用以下步骤来比较两个字符串的似性或突出不同之处: 步骤一:使用LEN函数计算字符串长度 首先,需要使用LEN函数计算字符串长度。使用以下骤来计算字符串长度: 在Excel中选择要计算长度…

    云计算 2023年5月10日
    00
  • 完美解决pycharm 不显示代码提示问题

    这里是针对“完美解决PyCharm不显示代码提示问题”的完整攻略。 1. 前置条件 在开始之前,我们需要确保以下几个条件已经满足: 你已经安装了PyCharm IDE; 你的项目中已经添加了需要使用的Python解释器; 你的项目工程已经成功打开并可以运行。 如果你还没有完成以上步骤,请先完成这些操作。 2.检查设置 首先,我们需要检查一下PyCharm I…

    python 2023年6月3日
    00
  • Python入门教程(二十九)Python的RegEx正则表达式

    下面是Python入门教程(二十九)Python的RegEx正则表达式的详细攻略。 什么是正则表达式 正则表达式(Regular Expression,简称 RegEx)是一种用于描述、匹配和处理字符串的强有力的工具。在代码中使用正则表达式可以进行字符串的搜索、替换、分割等操作。 RegEx的基本语法 Python中的正则表达式需要导入re模块,基本的语法格…

    python 2023年6月3日
    00
  • Python:从请求库转换为 urllib3

    【问题标题】:Python: conversion from requests library to urllib3Python:从请求库转换为 urllib3 【发布时间】:2023-04-03 11:08:02 【问题描述】: 我需要将以下 CURL 命令转换为 Python 中的 http 请求: curl -X POST https://some/u…

    Python开发 2023年4月8日
    00
  • python numba指纹错误

    【问题标题】:python numba fingerprint errorpython numba指纹错误 【发布时间】:2023-04-03 18:54:02 【问题描述】: 我正在尝试用 numba 优化一些代码。我已经完成了 0.26.0 用户指南 (http://numba.pydata.org/numba-doc/0.26.0/user/jit.h…

    Python开发 2023年4月8日
    00
  • python如何处理程序无法打开

    处理程序无法打开错误是Python编程中经常遇到的问题,通常会发生在尝试打开不存在的文件或者无法打开的文件时。以下是处理此类问题的完整攻略: 1. 确认文件路径是否正确 在Python中,可以通过使用open()函数来打开文件。打开文件时,需要传递文件路径作为参数。如果路径不正确,Python就无法找到文件并读取它们。因此,确认文件路径是正确的是第一步。路径…

    python 2023年5月30日
    00
  • pandas.DataFrame.to_json按行转json的方法

    pandas.DataFrame.to_json()方法可以将数据框按照行或列的方向转换为JSON格式。如果按行转json,则一个DataFrame的每一行会被转换为一个JSON对象,而列名则变成 JSON 对象的属性名。以下是完整的攻略。 1. 基本使用 pandas.DataFrame.to_json()方法默认按照列的方向转换为 JSON。若要按行转换…

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