Python CSV写入行:Python CSV写入多行详细操作

您所在的位置:网站首页 写入csv文件为什么只导入了最后一行 Python CSV写入行:Python CSV写入多行详细操作

Python CSV写入行:Python CSV写入多行详细操作

2023-07-25 05:05| 来源: 网络整理| 查看: 265

简介:在本Python CSV读写教程中,你将学习如何使用Python内置的CSV模块将单行或多行数据写入CSV文件,包括CSV写入行和Python CSV写入多行的代码实现步骤。

Python CSV写入行的步骤

Python要将数据写入CSV文件,你需要遵循以下步骤:

首先,使用open()函数打开要写入的CSV文件(w模式)。其次,通过调用CSV模块的writer()函数创建一个CSV写入器对象。第三,通过调用CSV写入器对象的writerow()或writerws()方法实现Python CSV一行一行写入。最后,在完成向文件写入数据后关闭文件。

以下代码演示了上述步骤并实现了Python CSV写入行:

import csv # 以写模式打开文件 f = open('path/to/csv_file', 'w') # 创建CSV写入器 writer = csv.writer(f) # 向CSV文件写入一行 writer.writerow(row) # 关闭文件 f.close()

如果你使用with语句,它会更短,这样你就不需要调用close()方法来显式关闭文件:

import csv # 以写模式打开文件 with open('path/to/csv_file', 'w') as f: # 创建CSV写入器 writer = csv.writer(f) # 向CSV文件写入一行 writer.writerow(row)

如果处理的是非ascii字符,则需要在开放函数中指定字符编码。

下面举例说明如何将UTF-8字符写入CSV文件:

import csv # 以写模式打开文件 with open('path/to/csv_file', 'w', encoding='UTF8') as f: # 创建CSV写入器 writer = csv.writer(f) # 向CSV文件写入一行 writer.writerow(row) Python CSV写入行的简单例子

下面的例子演示了Python如何将一个数据行写入到CSV文件中:

import csv header = ['name', 'area', 'country_code2', 'country_code3'] data = ['Afghanistan', 652090, 'AF', 'AFG'] with open('countries.csv', 'w', encoding='UTF8') as f: writer = csv.writer(f) # 写入头 writer.writerow(header) # 写入数据 writer.writerow(data)

如果你打开countries.csv,你会看到一个问题。它有一个额外的空行之间的两个后续行:

Python CSV写入行:Python CSV写入多行详细操作

要删除空行,你需要像这样将关键字参数newline=''传递给open()函数:

import csv header = ['name', 'area', 'country_code2', 'country_code3'] data = ['Afghanistan', 652090, 'AF', 'AFG'] with open('countries.csv', 'w', encoding='UTF8', newline='') as f: writer = csv.writer(f) # 写入头 writer.writerow(header) # 写入数据 writer.writerow(data)

输入如下:

Python CSV写入行:Python CSV写入多行详细操作 Python CSV写入多行的操作步骤

Python CSV要一次性写入多行时,可以使用CSV写入器对象的writerows()方法。

下面演示如何使用writerows()方法将多行写入到countries.csv文件中:

import csv header = ['name', 'area', 'country_code2', 'country_code3'] data = [ ['Albania', 28748, 'AL', 'ALB'], ['Algeria', 2381741, 'DZ', 'DZA'], ['American Samoa', 199, 'AS', 'ASM'], ['Andorra', 468, 'AD', 'AND'], ['Angola', 1246700, 'AO', 'AGO'] ] with open('countries.csv', 'w', encoding='UTF8', newline='') as f: writer = csv.writer(f) # 写入头 writer.writerow(header) # Python CSV写入多行数据 writer.writerows(data) 使用DictWriter类写入CSV文件

如果CSV文件的每一行都是一个字典,则可以使用CSV模块的DictWriter类将字典写入CSV文件。

下面的例子演示了如何使用DictWriter类将数据写入CSV文件:

import csv # csv头 fieldnames = ['name', 'area', 'country_code2', 'country_code3'] # csv data rows = [ {'name': 'Albania', 'area': 28748, 'country_code2': 'AL', 'country_code3': 'ALB'}, {'name': 'Algeria', 'area': 2381741, 'country_code2': 'DZ', 'country_code3': 'DZA'}, {'name': 'American Samoa', 'area': 199, 'country_code2': 'AS', 'country_code3': 'ASM'} ] with open('countries.csv', 'w', encoding='UTF8', newline='') as f: writer = csv.DictWriter(f, fieldnames=fieldnames) writer.writeheader() writer.writerows(rows)

以上Python代码是如何给CSV写入多行的?下面是详细解释:

首先,定义包含CSV文件的字段名和数据行的变量。接下来,通过调用open()函数打开要写入的CSV文件。然后,通过向它传递文件对象(f)和fieldnames参数,创建一个DictWriter类的新实例。然后,通过调用writeheader()方法写入CSV文件的头文件。最后,使用writerows()方法给CSV写入多行数据。 Python CSV读写总结

使用CSV Writer或DictWriter类将数据写入CSV文件。以上就是Python CSV写入行的基本操作介绍,包括Python CSV一行一行写入和CSV写入多行的代码实现,希望这些内容可以帮助到你!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3