python如何用pandas将一个文件夹里面的每个csv文件的第2列从第二行开始到最后一行的数据拼接成一列,如果出现“一遇”的单元格,就不读取
时间: 2024-03-24 07:35:49 浏览: 53
使用pandas读取csv文件的指定列方法
可以按照以下步骤使用 Pandas 实现:
1. 导入 Pandas 库和 os 库
```python
import pandas as pd
import os
```
2. 定义一个函数,用于拼接指定文件夹中所有 CSV 文件的第二列数据,并返回一个 Series 对象。在读取 CSV 文件时,使用 `na_values=["一遇"]` 将单元格值为 "一遇" 的数据识别为空值,不读取这些数据。
```python
def concat_csv_files(folder_path):
files = os.listdir(folder_path)
data = pd.Series()
for file in files:
if file.endswith(".csv"):
file_path = os.path.join(folder_path, file)
df = pd.read_csv(file_path, header=0, usecols=[1], skiprows=[1], na_values=["一遇"])
data = pd.concat([data, df.iloc[:, 0]])
return data.reset_index(drop=True)
```
函数说明:
- `os.listdir(folder_path)` 获取指定文件夹中的所有文件名
- `if file.endswith(".csv")` 判断文件是否为 CSV 文件
- `pd.read_csv(file_path, header=0, usecols=[1], skiprows=[1], na_values=["一遇"])` 读取 CSV 文件,第一行为列名,使用第二列数据,忽略第一行数据,将单元格值为 "一遇" 的数据识别为空值
- `pd.concat([data, df.iloc[:, 0]])` 将每个 CSV 文件的第二列数据拼接到 `data` 中
- `data.reset_index(drop=True)` 重置索引并返回一个 Series 对象
3. 调用函数并打印结果
```python
folder_path = "your_folder_path"
data = concat_csv_files(folder_path)
print(data)
```
其中,`your_folder_path` 指定需要拼接的 CSV 文件所在文件夹的路径。
阅读全文