假设有一个CSV文件,数据格式如下:
Name, Age, Email
Alice, 30, alice@example.com; bob@example.com
Bob, 40, bob@example.com; charlie@example.com
Charlie, 50, charlie@example.com
其中,每个单元格中的电子邮件地址都用分号分隔。我们想要将每个电子邮件地址拆分到单独的单元格中。
要解决此问题,可以使用Pandas库和以下代码示例:
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 将Email列转换为字符串类型
df['Email'] = df['Email'].astype(str)
# 拆分Email列并在新列中创建一个列表
df['Email List'] = df['Email'].str.split(';')
# 创建新列,每个电子邮件地址占据单独的单元格
df = df.explode('Email List')
# 重置索引并删除原始Email列
df = df.reset_index(drop=True)
df = df.drop('Email', axis=1)
# 重命名新的Email列
df = df.rename(columns={'Email List': 'Email'})
# 将结果写入CSV文件
df.to_csv('output.csv', index=False)
这将生成一个名为output.csv
的新文件,其中每个电子邮件地址都拆分到单独的单元格中,如下所示:
Name, Age, Email
Alice, 30, alice@example.com
Alice, 30, bob@example.com
Bob, 40, bob@example.com
Bob, 40, charlie@example.com
Charlie, 50, charlie@example.com