pandas, 从多个csv文件中获取第2列,形成一个新的csv,并把输入csv文件名字放在第0行,第1行。
时间: 2024-03-09 14:47:39 浏览: 60
好的,可以使用Python中的pandas库来实现这个需求。以下是一个示例代码:
```python
import pandas as pd
import os
# 设置输入和输出文件夹路径
input_folder = "input_folder"
output_folder = "output_folder"
# 获取所有csv文件的文件名
file_names = os.listdir(input_folder)
csv_files = [f for f in file_names if f.endswith('.csv')]
# 创建一个空的DataFrame用于存储结果
result_df = pd.DataFrame()
# 循环处理每个csv文件
for file_name in csv_files:
# 读取csv文件,只保留第2列数据
df = pd.read_csv(os.path.join(input_folder, file_name), usecols=[1])
# 把文件名添加到第0行和第1行
df.loc[-1] = [file_name]
df.loc[-2] = [""]
# 把当前csv文件的数据添加到结果DataFrame中
result_df = pd.concat([result_df, df], axis=0)
# 把结果DataFrame保存为新的csv文件
result_df.to_csv(os.path.join(output_folder, 'result.csv'), index=False, header=False)
```
上述代码中,我们首先定义了输入和输出文件夹的路径,然后获取了输入文件夹中所有的csv文件名。接着,我们循环处理每个csv文件,读取第2列数据,并把文件名添加到第0行和第1行。最后,我们把所有csv文件的数据拼接到一起,并把结果保存为一个新的csv文件。注意,最后保存结果时,我们把index和header都设置为False,这样就不会把DataFrame的行索引和列名也保存到csv文件中了。
阅读全文