5个必知必会的 Python 数据合并技巧

1. 合并两个列表的元素

合并两个列表可以使用 '+' 运算符,通过将两个列表相加可以得到一个新的列表,该列表包含了原来两个列表的所有元素。

list1 = [1, 2, 3]

list2 = [4, 5, 6]

result = list1 + list2

print(result)

运行结果:

[1, 2, 3, 4, 5, 6]

可以看到,两个列表的元素被合并到了一个新列表中。

2. 合并两个字典

要合并两个字典,可以使用字典的 'update()' 方法。该方法会将一个字典的键值对添加到另一个字典中。

dict1 = {'a': 1, 'b': 2}

dict2 = {'c': 3, 'd': 4}

dict1.update(dict2)

print(dict1)

运行结果:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

可以看到,dict2 中的键值对被添加到了 dict1 中。

3. 合并多个字符串

要合并多个字符串,可以使用字符串的 'join()' 方法。该方法接受一个可迭代对象作为参数,将其中的字符串元素连接起来。

strings = ['Hello', 'World', '!']

result = ' '.join(strings)

print(result)

运行结果:

Hello World !

可以看到,多个字符串被合并成了一个字符串。

4. 合并CSV文件

4.1 使用Pandas库合并CSV文件

要合并多个CSV文件,可以使用 Pandas 库中的 'concat()' 函数。该函数可以将多个 DataFrame 对象按行或列方向合并。

import pandas as pd

# 读取CSV文件

data1 = pd.read_csv('file1.csv')

data2 = pd.read_csv('file2.csv')

# 合并CSV文件

result = pd.concat([data1, data2], axis=0)

# 保存合并后的结果

result.to_csv('merged.csv', index=False)

通过指定 'axis=0' 参数,可以按行方向合并,得到一个新的 DataFrame 对象。

4.2 使用CSV模块合并CSV文件

如果不想使用 Pandas 库,也可以使用 Python 的内置 'csv' 模块来合并 CSV 文件。

import csv

# 打开要写入的文件

with open('merged.csv', 'w', newline='') as outfile:

writer = csv.writer(outfile)

# 打开第一个文件,读取数据并写入新文件

with open('file1.csv', 'r') as file1:

reader = csv.reader(file1)

for row in reader:

writer.writerow(row)

# 打开第二个文件,读取数据并写入新文件

with open('file2.csv', 'r') as file2:

reader = csv.reader(file2)

for row in reader:

writer.writerow(row)

print("CSV文件合并完成")

以上代码会读取两个 CSV 文件的数据,并将数据逐行写入一个新的 CSV 文件中。

5. 合并多个文件夹中的文件

要合并多个文件夹中的文件,可以使用 Python 的 'os' 模块和 'shutil' 模块来实现。

import os

import shutil

# 源文件夹列表

source_dirs = ['dir1', 'dir2', 'dir3']

# 目标文件夹

target_dir = 'merged'

# 创建目标文件夹

os.makedirs(target_dir, exist_ok=True)

# 遍历源文件夹列表

for source_dir in source_dirs:

# 遍历源文件夹中的所有文件

for filename in os.listdir(source_dir):

source_path = os.path.join(source_dir, filename)

target_path = os.path.join(target_dir, filename)

# 复制文件到目标文件夹中

shutil.copy2(source_path, target_path)

print("文件合并完成")

以上代码会遍历多个源文件夹中的所有文件,并将文件复制到一个目标文件夹中。

总结

在 Python 中,有多种方法可以实现数据合并。无论是合并列表、合并字典、合并字符串、合并CSV文件还是合并多个文件夹中的文件,都可以使用简单而强大的 Python 技巧来实现。通过合并数据,可以更方便地进行数据处理和分析。

后端开发标签