python读写csv文件并增加行列的实例代码

yizhihongxing

以下是 Python 读写 CSV 文件并增加行列的攻略。

1. 读取 CSV 文件

读取 CSV 文件需要用到 csv 模块。csv 模块提供了两种读取 CSV 文件的方式,即使用 csv.reader() 函数或 csv.DictReader() 函数。

1.1 使用 csv.reader() 函数

csv.reader() 函数将 CSV 文件中的每一行转换为列表,可以使用 for 循环逐行读取 CSV 文件。以下是一个读取 CSV 文件并打印每一行的示例:

import csv

with open('example.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

其中 open() 函数用于打开 CSV 文件,并指定 newline='' 可以避免读取 CSV 文件时出现空白行。

1.2 使用 csv.DictReader() 函数

csv.DictReader() 函数将 CSV 文件中的每一行转换为字典,可以使用 for 循环逐行读取 CSV 文件。以下是一个读取 CSV 文件并打印每一行的示例:

import csv

with open('example.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row)

其中 open() 函数用于打开 CSV 文件,并指定 newline='' 可以避免读取 CSV 文件时出现空白行。

2. 写入 CSV 文件

写入 CSV 文件同样需要用到 csv 模块。csv 模块提供了两种写入 CSV 文件的方式,即使用 csv.writer() 函数或 csv.DictWriter() 函数。

2.1 使用 csv.writer() 函数

csv.writer() 函数将列表写入 CSV 文件,并使用 writerow() 方法写入每一行。以下是一个将列表写入 CSV 文件的示例:

import csv

with open('example.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['Name', 'Age', 'Country'])
    writer.writerow(['Alice', '25', 'USA'])
    writer.writerow(['Bob', '30', 'Canada'])

其中 open() 函数中的 'w' 参数表示以写入方式打开文件,并指定 newline='' 可以避免写入 CSV 文件时出现空白行。

2.2 使用 csv.DictWriter() 函数

csv.DictWriter() 函数将字典写入 CSV 文件,并使用 writeheader() 方法写入表头信息。以下是一个将字典写入 CSV 文件的示例:

import csv

with open('example.csv', 'w', newline='') as csvfile:
    fieldnames = ['Name', 'Age', 'Country']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'Name': 'Alice', 'Age': '25', 'Country': 'USA'})
    writer.writerow({'Name': 'Bob', 'Age': '30', 'Country': 'Canada'})

其中 open() 函数中的 'w' 参数表示以写入方式打开文件,并指定 newline='' 可以避免写入 CSV 文件时出现空白行。

3. 增加行列

增加行列需要先读取 CSV 文件并存储为列表或字典,然后再添加行列信息后写入 CSV 文件。

3.1 增加行

增加行需要先读取 CSV 文件并存储为列表或字典,然后使用 append() 方法向列表或字典中添加新的行信息,最后写入 CSV 文件。

以下是一个将列表写入 CSV 文件并增加行信息的示例:

import csv

# 读取 CSV 文件并存储为列表
rows = []
with open('example.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        rows.append(row)

# 增加行信息
new_row = ['Charlie', '35', 'UK']
rows.append(new_row)

# 写入 CSV 文件
with open('example.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    for row in rows:
        writer.writerow(row)

其中 append() 方法向列表中添加新的行信息。

3.2 增加列

增加列需要先读取 CSV 文件并存储为列表或字典,然后使用字典的 update() 方法向每一行添加新的列信息,最后写入 CSV 文件。

以下是一个将字典写入 CSV 文件并增加列信息的示例:

import csv

# 读取 CSV 文件并存储为字典
rows = []
with open('example.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        rows.append(row)

# 增加列信息
for row in rows:
    row.update({'City': 'New York'})

# 写入 CSV 文件
with open('example.csv', 'w', newline='') as csvfile:
    fieldnames = ['Name', 'Age', 'Country', 'City']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    for row in rows:
        writer.writerow(row)

其中 update() 方法向每一行添加新的列信息。注意,因为增加列信息后表头信息也要增加,所以在写入 CSV 文件时需要指定新的 fieldnames。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读写csv文件并增加行列的实例代码 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 如何使用 Python Redis 库实现 Redis 集群?

    以下是详细讲解如何使用 Python Redis 库实现 Redis 集群的完整使用攻略。 Python Redis 库简介 Python Redis 库是 Redis 的官方 Python 客户端,提了对 Redis 数据库的完整支持。Python Redis可以用于连接 Redis 单节点、Redis 集群、Redis Sentinel 等多种 Redi…

    python 2023年5月12日
    00
  • python解析html提取数据,并生成word文档实例解析

    Python解析HTML提取数据,并生成Word文档实例解析 在本文中,我们将介绍如何使用Python解析HTML文档,提取数据,并将其写入Word文档。我们将使用Python的BeautifulSoup库和python-docx库来实现这个目标。我们将提供两个示例,以帮助读者更好地理解如何使用这些库。 步骤1:解析HTML文档并提取数据 以下是解析HTML…

    python 2023年5月15日
    00
  • python 如何将office文件转换为PDF

    将Office文件转换为PDF是很有必要的,因为PDF文件兼容性更好且不易被篡改,这在工作和学习中是非常重要的。下面是将Office文件转换为PDF的完整攻略。 1. 安装Python库 转换Office文件为PDF格式需要使用Python的一个第三方库 — python-docx-pdf。在终端中执行以下命令来安装该库。 pip install pyth…

    python 2023年6月5日
    00
  • Python实现GUI计算器(附源码)

    我来为您分享一下Python实现GUI计算器的攻略。 概述 Python实现GUI计算器主要是利用Python语言自带的Tkinter模块来完成界面的设计和事件处理。Tkinter是Python语言的标准GUI库,可以用于创建桌面应用程序。 步骤 导入Tkinter模块 from tkinter import * 创建主窗口对象 root = Tk() 设计…

    python 2023年5月19日
    00
  • python中for循环的多种使用实例

    当我们需要对数据集进行迭代,通常需要使用到Python中的for循环语句。这里我们将通过多种使用实例来详细讲解for循环的使用方法。 for循环基本语法 for循环用于循环操作一个序列(例如:列表、元组、字符串)或其他可迭代对象,其基本语法如下: for 变量名 in 序列: 循环体代码块 在循环过程中,变量名会依次被赋值为序列中每一个元素的值,然后执行循环…

    python 2023年6月5日
    00
  • python实现读取excel写入mysql的小工具详解

    下面我将详细讲解“python实现读取excel写入mysql的小工具详解”的完整实例教程。 介绍 在实际应用场景中,我们很可能需要将Excel表格中的数据导入到数据库中,其中MySQL是比较常用的关系型数据库。本文将介绍如何使用Python实现读取Excel并将数据写入MySQL的小工具。 需求分析 我们需要实现的功能是将Excel表格的内容批量导入到My…

    python 2023年5月13日
    00
  • 详解python 支持向量机(SVM)算法

    下面是关于“详解Python支持向量机(SVM)算法”的完整攻略。 1. 支持向量机(SVM)算法简介 支持向量机(SVM)是一种二分类模型它的基本模型是定义特征空间上间隔最大的线性分类器,其学习策略便是间隔最大化,终可转化为一个凸二次规划问题的求解。SVM算法具有良好的泛化能力和鲁棒性,被广泛用于分类、回归和异常检测等领域。 2. Python实现支持向量…

    python 2023年5月13日
    00
  • python使用tkinter实现透明窗体

    下面是使用 Python tkinter 实现透明窗口的攻略,分为三个部分:准备工作、实现步骤和示例说明。 准备工作 在使用 Python tkinter 实现透明窗口之前,需要先了解以下知识: Tkinter 是 Python 自带的图形界面库,支持多个平台; tkinter.Toplevel() 是一个顶层窗口类,可用于创建新的顶层窗口; wm_attr…

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