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

以下是 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日

相关文章

  • python3解析库pyquery的深入讲解

    PyQuery是一个Python库,它提供了类似于jQuery的语法来解析HTML和XML文档。它是一个非常强大的解析库,可以轻松地从HTML和XML文档中提取数据。本攻略将深入讲解PyQuery库,并提供一些示例。 步骤一:安装PyQuery库 在开始使用PyQuery之前,我们需要安装它。我们可以使用pip命令来安装PyQuery库: pip insta…

    python 2023年5月15日
    00
  • Python实现疫情通定时自动填写功能(附代码)

    下面是关于“Python实现疫情通定时自动填写功能(附代码)”的完整攻略: 一、背景介绍 随着新冠病毒的全球爆发,各地政府都纷纷要求民众填写健康问卷来做好疫情防控,而线下填写一般是每天一次,十分繁琐。为此,我们可以通过编写Python代码自动填写疫情通健康问卷,实现定时自动化,方便快捷。下面是具体的操作步骤: 二、操作步骤 1. 安装库和浏览器驱动 使用Py…

    python 2023年5月19日
    00
  • 解决python中文乱码问题方法总结

    解决Python中文乱码问题方法总结 在Python中,中文乱码问题是一个常见的问题。本文将介绍解决Python中文乱码问题方法,包括设置文件编码、使用Unicode字符串、以及两个示例说明。 1. 设置文件编码 在Python中,我们可以通过文件编码来解决中文乱问题。我们可以在Python文件的开头添加以下代码: # -*- coding: utf-8 -…

    python 2023年5月13日
    00
  • 如何利用Python实现自动打卡签到的实践

    利用Python实现自动打卡签到共有以下几个步骤: 第一步:确定打卡网站及具体签到规则 首先需要确定打卡网站和相应的签到规则,比如需要填写的信息、签到方式、签到时间等。 第二步:模拟登录打卡网站 利用requests库和beautifulsoup4库模拟登录打卡网站,从网站获取到自己的账户登录信息和Cookie信息。 具体实现示例: import reque…

    python 2023年5月19日
    00
  • python实现linux下使用xcopy的方法

    当需要在Linux环境中使用Windows的xcopy命令进行文件复制时,可以通过Wine或是Python来实现。 下面我们讲解一下如何使用Python实现Linux下使用xcopy的方法: 1. 安装Python 如果你还没安装Python,可以参考以下步骤进行安装: 在Linux中执行以下命令: sudo apt-get update sudo apt-…

    python 2023年6月2日
    00
  • python模拟登陆阿里妈妈生成商品推广链接

    Python模拟登陆阿里妈妈生成商品推广链接是一种自动化的方法,可以快速有效地推广商品链接。下面是该攻略的完整流程: 1. 确认所需的工具和信息 在开始之前,需要准备以下工具和信息: Python环境和依赖库(requests、re、json、hashlib、time、selenium、urllib等) 阿里妈妈账号和密码 想要推广的商品的链接 2. 安装依…

    python 2023年6月3日
    00
  • Python:具有短寿命键的线程安全字典,这是正确的吗?

    【问题标题】:Python: Thread safe dictionary with short lived keys, is this correct?Python:具有短寿命键的线程安全字典,这是正确的吗? 【发布时间】:2023-04-02 04:48:01 【问题描述】: import threading import weakref _mainlo…

    Python开发 2023年4月8日
    00
  • Python iter()使用哨兵值

    iter()是Python内置函数之一,它返回一个可迭代对象,并被用于迭代序列、集合、字典等。当在 Python 内部使用 iter() 函数时,iter() 会首先寻找一个实现了 iter() 方法的对象,如果没有找到就会接着找实现了 getitem() 方法的,否则就会抛出一个 TypeError 异常。 iter()函数常常被用来遍历一个序列,这是Py…

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