Python将多个表格的数据,按照第一列进行整理,第一列会有不重复值,去除重复值,整合成新的一列;将每张表中每一列所对应的数据整理到一张表中
时间: 2024-05-09 15:18:44 浏览: 182
Python将多份excel表格整理成一份表格
可以使用Pandas库来实现这个功能。
1. 整理第一列数据
假设有三个表格,分别为表格1、表格2、表格3。
表格1:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 1 | 2 |
| B | 3 | 4 |
| C | 5 | 6 |
表格2:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| D | 7 | 8 |
| E | 9 | 10 |
| F | 11 | 12 |
表格3:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 13 | 14 |
| B | 15 | 16 |
| G | 17 | 18 |
我们可以先将每个表格读入为Pandas的DataFrame对象,然后将它们按照第一列进行合并,去除重复值,形成一个新的DataFrame对象:
```python
import pandas as pd
# 读入表格1
df1 = pd.read_csv('table1.csv')
# 读入表格2
df2 = pd.read_csv('table2.csv')
# 读入表格3
df3 = pd.read_csv('table3.csv')
# 按照第一列合并三个表格
df_merge = pd.concat([df1, df2, df3])
# 去除重复值
df_merge = df_merge.drop_duplicates(subset=['第一列'])
# 将结果保存为新的CSV文件
df_merge.to_csv('merged_table.csv', index=False)
```
执行完上述代码后,我们得到的新表格merged_table.csv如下:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 1 | 2 |
| B | 3 | 4 |
| C | 5 | 6 |
| D | 7 | 8 |
| E | 9 | 10 |
| F | 11 | 12 |
| G | 17 | 18 |
2. 整理每一列数据
现在我们需要将每个表格中的数据按照第一列整理到新的表格中。
假设我们仍然有表格1、表格2、表格3,但这次我们假设它们的第一列已经整理成了新表格merged_table.csv中的第一列。
表格1:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 1 | 2 |
| B | 3 | 4 |
| C | 5 | 6 |
表格2:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| D | 7 | 8 |
| E | 9 | 10 |
| F | 11 | 12 |
表格3:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 13 | 14 |
| B | 15 | 16 |
| G | 17 | 18 |
我们可以先将每个表格读入为Pandas的DataFrame对象,然后使用merge函数将它们按照第一列进行合并:
```python
import pandas as pd
# 读入表格1
df1 = pd.read_csv('table1.csv')
# 读入表格2
df2 = pd.read_csv('table2.csv')
# 读入表格3
df3 = pd.read_csv('table3.csv')
# 读入整理后的表格
df_merge = pd.read_csv('merged_table.csv')
# 合并表格1和整理后的表格
df1_merge = pd.merge(df_merge[['第一列']], df1, on='第一列')
# 合并表格2和整理后的表格
df2_merge = pd.merge(df_merge[['第一列']], df2, on='第一列')
# 合并表格3和整理后的表格
df3_merge = pd.merge(df_merge[['第一列']], df3, on='第一列')
# 将结果保存为新的CSV文件
df1_merge.to_csv('merged_table1.csv', index=False)
df2_merge.to_csv('merged_table2.csv', index=False)
df3_merge.to_csv('merged_table3.csv', index=False)
```
执行完上述代码后,我们得到的新表格merged_table1.csv、merged_table2.csv、merged_table3.csv如下:
merged_table1.csv:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 1 | 2 |
| B | 3 | 4 |
| C | 5 | 6 |
merged_table2.csv:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| D | 7 | 8 |
| E | 9 | 10 |
| F | 11 | 12 |
merged_table3.csv:
| 第一列 | 第二列 | 第三列 |
| ------ | ------ | ------ |
| A | 13 | 14 |
| B | 15 | 16 |
| G | 17 | 18 |
这样,我们就完成了将多个表格的数据整理到一个新表格中,并将每张表中每一列所对应的数据整理到一张表中的操作。
阅读全文