Python 读写包括Unicode的CSV文件

Python 读写包括Unicode的CSV文件

在本文中,我们将介绍如何使用Python 2.7读写CSV文件,并处理Unicode字符。

阅读更多:Python 教程

什么是CSV文件?

CSV(逗号分隔值)是一种常用的文件格式,用于存储表格数据。每行代表一个数据记录,每个字段由逗号分隔,可以包含文本或数字。CSV文件可以用Excel等电子表格软件打开和编辑。

读取CSV文件

Python的csv模块提供了一种简单的方式来读取CSV文件。我们可以使用csv.reader对象来逐行读取文件中的数据。

首先,我们需要导入csv模块,并打开我们要读取的CSV文件:

import csv

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
Python

打开文件后,我们可以使用for循环逐行读取数据:

for row in reader:
    print(row)
Python

这样我们就可以将每一行打印出来。如果CSV文件内容如下:

Name,Age,City
John,25,New York
Alice,30,London
Python

输出结果将是:

['Name', 'Age', 'City']
['John', '25', 'New York']
['Alice', '30', 'London']
Python

写入CSV文件

要将数据写入CSV文件,我们需要使用csv.writer对象。我们可以按照以下方式打开要写入的文件:

import csv

with open('output.csv', 'w', newline='') as file:
    writer = csv.writer(file)
Python

一旦打开文件,我们可以使用writerow方法写入一行数据:

writer.writerow(['Name', 'Age', 'City'])
Python

我们可以多次调用writerow方法来写入多行数据。最终,我们需要关闭文件以确保写入的数据被保存。

处理Unicode字符

如果我们的CSV文件包含Unicode字符,我们需要确保能够正确处理这些字符。在Python 2.7中,我们可以使用codecs模块来处理Unicode编码。

首先,我们需要导入codecs模块,并使用codecs.open打开我们的CSV文件:

import codecs

with codecs.open('data.csv', 'r', 'utf-8') as file:
    reader = csv.reader(file)
Python

我们可以选择适当的编码格式打开文件,以确保能够正确读取包含Unicode字符的数据。在写入数据时,我们可以使用相同的编码格式打开文件。

示例

下面是一个完整的示例,演示了如何读取一个包含Unicode字符的CSV文件,并将数据写入新的CSV文件:

import csv
import codecs

# 读取CSV文件
with codecs.open('data.csv', 'r', 'utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

# 写入CSV文件
with open('output.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Name', 'Age', 'City'])
    writer.writerow(['John', '25', 'New York'])
    writer.writerow(['Alice', '30', 'London'])
Python

总结

通过csv模块,我们可以很方便地读写CSV文件。为了处理包含Unicode字符的CSV文件,我们可以使用codecs模块。不论是读取还是写入,我们都可以按行处理CSV文件的数据,进行自定义的操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册