多个csv文件合并为一个,按照第一个csv文件的第二列分类,第二列相同的行放在一起,全部数据放在一个文件
时间: 2023-05-19 13:05:18 浏览: 159
csv-concat:将一堆 CSV 文件合并到一个文件夹中
您好,这个问题可以使用 Python 中的 pandas 库来解决。您可以按照以下步骤操作:
1. 使用 pandas 的 read_csv 函数读取第一个 csv 文件,并将第二列作为索引列,保存为一个 DataFrame 对象。
2. 遍历剩余的 csv 文件,使用 read_csv 函数读取每个文件,并将第二列作为索引列,保存为一个 DataFrame 对象。
3. 使用 pandas 的 concat 函数将所有 DataFrame 对象合并为一个大的 DataFrame 对象。
4. 使用 pandas 的 groupby 函数按照第二列进行分组,并将分组后的数据保存为一个新的 csv 文件。
以下是示例代码:
```python
import pandas as pd
import glob
# 读取第一个 csv 文件
df = pd.read_csv('file1.csv', index_col=1)
# 遍历剩余的 csv 文件
for file in glob.glob('*.csv'):
if file != 'file1.csv':
# 读取 csv 文件
df_temp = pd.read_csv(file, index_col=1)
# 将数据合并到第一个 DataFrame 对象中
df = pd.concat([df, df_temp])
# 按照第二列进行分组,并将分组后的数据保存为一个新的 csv 文件
df.groupby(df.index).apply(lambda x: x.to_csv('output.csv', mode='a', header=False))
```
注意:这里假设所有的 csv 文件都在同一个文件夹下,并且文件名都以 .csv 结尾。如果您的文件名或路径不同,请修改代码中的相应部分。
阅读全文