Python中追加CSV文件

2025年1月5日 | 阅读 7 分钟

逗号分隔值文件 (CSV) 用于存储表格数据。 CSV 文件中的数据项由逗号分隔,并且保存为 .csv 扩展名

有不同的方法可以处理 CSV 文件并向其中追加数据。这包括

  • CSV 模块的 writer( ) 函数
  • CSV 模块的 DictWriter( ) 函数
  • Pandas 模块

Python 提供了一个名为 csv 的模块,可帮助处理 CSV 文件。可以使用 pip 命令安装 csv 包。

安装后,我们需要导入 csv 模块

在向 CSV 文件追加数据之前,我们必须了解 CSV 文件中的读写函数。可以使用 CSV 模块的不同方法读取 CSV 文件。CSV 模块提供了一个 reader( ) 函数来从 csv 文件读取数据。

例如,我们有一个包含公司员工数据的随机 csv 文件。使用 reader( ) 函数,我们将读取 csv 文件中的数据。

代码

输出

['Employee ID', ' NAME', ' DESIGNATION']
['010', ' JASS', ' ENGINEER']
['012', ' AMA', ' WEB DEVELOPER']
['015', ' TOM', ' ANALYST']
['020', ' HARRY', ' ASSOCIATE']
['022', ' PIX', ' MANAGER']
['027', ' SAM', ' HR']

Append CSV Files in Python

我们首先导入了 csv 模块,然后使用 open( ) 函数读取了 csv 文件(demo.csv)。然后,创建了一个对象来读取 csv 文件。使用 csv.reader( ) 函数,我们读取了 csv 文件中的数据并打印了数据。

与其他文件一样,我们可以使用不同的模式打开 csv 文件

  • 读取
  • write
  • append

现在,我们将使用不同的方法追加 csv 文件

1. writer( ) 函数

CSV 文件处理中的writer( ) 函数将字符串转换为分隔字符串。writer( ) 函数使用 writerow( )writerows( ) 函数通过 writer-object 将分隔字符串写入 csv 文件。

writer( ) 函数的语法

其中

  • obj = writer 函数的对象
  • writer = 写入对象的函数
  • file_obj = 文件的对象

现在,我们将使用 Python 中的 writer( ) 函数追加数据。

代码

输出

['AGE', '  SALARY']
['30', ' 53000']
['22', ' 32000']
['45', ' 90000']
['33', ' 40000']
['32', ' 34000']
['27', ' 500000']
[]
['Employee ID', '  NAME', '  DESIGNATION']
['010', ' JASS', ' ENGINEER']
['012', ' AMA', ' WEB DEVELOPER']
['015', ' TOM', ' ANALYST']
['020', ' HARRY', ' ASSOCIATE']
['022', ' PIX', ' MANAGER']
['027', ' SAM', ' HR']

Append CSV Files in Python

我们使用了两个 csv 文件(demo 和 demo1)并尝试将一个文件的数据追加到另一个文件中。我们首先导入了 csv 库。然后,使用 open( ) 函数,我们首先以读取模式打开了 demo 文件。我们创建了一个reader 对象并使用了 csv.reader( ) 函数;我们读取了文件。然后,使用 append( ) 函数,我们将数据追加到 demo 文件。然后,我们以写入模式打开了 demo1 文件。使用 writer( ) 函数,我们追加了前面定义的 demo 类中的数据。为了打印数据,我们再次打开了 demo1 文件并打印了结果。作为输出,它将首先打印 demo1 文件的数据,然后打印 demo 文件的数据。

2. DictWriter( ) 方法

DictWriter( ) 方法用于使用 Python 中的 csv 模块写入 csv 文件。此函数创建一个对象,该对象将每一行的内容映射到一个字典,其中键由代表字段名的任何变量定义。如果未提供字段名,则将 csv 文件的第一行视为文件的字段。行数必须与字段名数量匹配。如果行数多于字段名,其余数据将存储在一个列表中,名为默认的 restkey 字段名。writerows( ) 函数用于将行添加到 csv 文件,就像将数据添加到字典一样。

DictWriter( ) 函数的语法

其中

  • obj = DictWriter 函数的对象
  • file_object = csv 文件的对象
  • fieldnames = 用于存储字段名的对象
  • field_names = 字段名列表

让我们使用 Python 中的 DictWriter( ) 函数追加数据。

输出

['Employee ID', '  NAME', '  DESIGNATION']
['010', ' JASS', ' ENGINEER']
['012', ' AMA', ' WEB DEVELOPER']
['015', ' TOM', ' ANALYST']
['020', ' HARRY', ' ASSOCIATE']
['022', ' PIX', ' MANAGER']
['027', ' SAM', ' HR']
['101', 'TIM', 'ANALYST']
['102', 'GEN', 'ASSOCIATE']
['103', 'BOB', 'MANAGER']
['106', 'SAMMY', 'DEVELOPER']
['108', 'GRAY', 'TEAM LEAD']

Append CSV Files in Python

在这个例子中,我们使用了一个包含员工数据(demo.csv)的 csv 文件。首先,我们导入了 csv 库。然后,我们创建了一个字段名列表和一个包含要添加到 CSV 文件中的数据的字典。然后,使用 open( ) 函数,我们以追加模式 ('a') 打开了文件。然后,创建了一个 DictWriter 对象,并使用了 DictWriter( ) 函数,在其中传递了字段名列表和文件对象。然后,我们将数据字典传递给 writerows( ) 函数,将数据写入文件。再次,我们以读取模式打开文件以打印文件中的数据。作为输出,数据字典将打印在 demo 文件内容之后。

我们可以通过添加另一个文件中的数据来追加 csv 文件,就像 writer( ) 函数一样。

代码

输出

{'Employee ID': '010', '  NAME': ' JASS', '  DESIGNATION': ' ENGINEER'}
{'Employee ID': '012', '  NAME': ' AMA', '  DESIGNATION': ' WEB DEVELOPER'}
{'Employee ID': '015', '  NAME': ' TOM', '  DESIGNATION': ' ANALYST'}
{'Employee ID': '020', '  NAME': ' HARRY', '  DESIGNATION': ' ASSOCIATE'}
{'Employee ID': '022', '  NAME': ' PIX', '  DESIGNATION': ' MANAGER'}
{'Employee ID': '027', '  NAME': ' SAM', '  DESIGNATION': ' HR'}
{'Employee ID': '101', '  NAME': ' TIM', '  DESIGNATION': ' ANALYST'}
{'Employee ID': '102', '  NAME': ' GEN', '  DESIGNATION': ' ASSOCIATE'}
{'Employee ID': '103', '  NAME': ' BOB', '  DESIGNATION': ' MANAGER'}
{'Employee ID': '106', '  NAME': ' SAMMY', '  DESIGNATION': ' DEVELOPER'}
{'Employee ID': '108', '  NAME': ' GRAY', '  DESIGNATION': ' TEAM LEAD'}
{'Employee ID': '011', '  NAME': ' JASMIN', '  DESIGNATION': ' SENIOR ENGINEER'}
{'Employee ID': '021', '  NAME': ' MAX', '  DESIGNATION': ' DEVELOPER'}
{'Employee ID': '035', '  NAME': ' TONY', '  DESIGNATION': ' DATA ANALYST'}
{'Employee ID': '043', '  NAME': ' HERY', '  DESIGNATION': ' TL ASSOCIATE'}
{'Employee ID': '029', '  NAME': ' RONY', '  DESIGNATION': ' SENIOR MANAGER'}
{'Employee ID': '027', '  NAME': ' SIM', '  DESIGNATION': ' ASSN HR'}

Append CSV Files in Python

与 writer( ) 函数类似,我们将一个 csv 文件追加到了另一个文件中。我们打开了 file2 并使用 DictWriter( ) 函数将其数据追加到了 file2 中。

3. Pandas 库

Python 中的 Pandas 库用于处理不同的数据集。它可以用于读取和探索 csv 文件。它可以从 csv 文件创建数据帧。对于在 csv 文件中追加数据,pandas 库提供了 to_csv( ) 函数

to_csv( ) 函数的语法

其中

  • obj = 文件的对象
  • pd = pandas 库对象
  • file_name = csv 文件名
  • index = 为追加的文件提供索引。默认值为 false。
  • header = 提供数据的标题/表头。默认设置为 False。

现在,我们将使用 pandas 库追加 csv 文件。

代码

输出

	Employee ID	NAME	DESIGNATION
0	10	JASS	ENGINEER
1	12	AMA	WEB DEVELOPER
2	15	TOM	ANALYST
3	20	HARRY	ASSOCIATE
4	22	PIX	MANAGER
5	27	SAM	HR
6	101	TIM	ANALYST
7	102	GEN	ASSOCIATE
8	103	BOB	MANAGER
9	106	SAMMY	DEVELOPER
10	108	GRAY	TEAM LEAD
11	11	JASMIN	SENIOR ENGINEER
12	21	MAX	DEVELOPER
13	35	TONY	DATA ANALYST
14	43	HERY	TL ASSOCIATE
15	29	RONY	SENIOR MANAGER
16	27	SIM	ASSN HR

Append CSV Files in Python

我们导入了 pandas 库。使用 read_csv( ) 函数,我们读取了一个 csv 文件(file2.csv)。然后,使用 to_csv( ) 函数,我们将 file2 的数据追加到了 file1 中。