文件中含有123_diff.csv 和123_o_diff.csv,循环根目录找到只含有_diff.csv的csv文件
时间: 2023-12-01 20:04:52 浏览: 68
你可以使用Python中的os模块和pandas库来实现这个需求,下面是一个可能的实现:
```python
import os
import pandas as pd
# 获取当前目录下所有的csv文件
csv_files = [f for f in os.listdir('.') if f.endswith('.csv')]
# 筛选出只含有_diff.csv的csv文件
diff_files = []
for file in csv_files:
if '_diff.csv' in file and '_o_diff.csv' not in file:
diff_files.append(file)
# 读取筛选出来的csv文件
dfs = []
for file in diff_files:
df = pd.read_csv(file)
dfs.append(df)
# 合并所有的csv文件
result = pd.concat(dfs, ignore_index=True)
```
这段代码首先获取当前目录下所有的csv文件,然后筛选出只含有`_diff.csv`的文件,接着循环读取这些文件并合并成一个DataFrame。最后,你可以对合并后的DataFrame进行进一步的处理。
相关问题
文件中含有123_diff.csv 和123_o_diff.csv,循环根目录找到只含有_diff.csv的csv文件的路径
可以使用Python中的os和glob库来实现。可以参考下面的代码:
```python
import os
import glob
# 循环遍历根目录下的所有文件
for root, dirs, files in os.walk('.'):
# 遍历当前目录下的所有csv文件
for file in files:
if file.endswith('_diff.csv') and not file.endswith('_o_diff.csv'):
csv_path = os.path.join(root, file)
print(csv_path)
```
这段代码会输出所有只含有"_diff.csv"而不含有"_o_diff.csv"的CSV文件的路径。你可以根据实际情况修改根目录的路径和文件名的匹配规则。
在路径为path文件中含有123_diff.csv 和123_o_diff.csv等多个以_diff.csv为结尾的csv文件,循环根目录找到有且只含有_diff.csv的csv文件的路径
可以使用以下代码实现:
```python
import os
def find_csv_path():
for root, dirs, in os.walk('.'):
for file in files:
if file.endswith('_diff.csv'):
full_path os.path.join(root, file)
# 判断是否只含有_diff.csv的文件
if len([f for f in files if f.endswith('_diff.csv')]) == 1:
return full_path
return None
csv_path = find_csv_path()
if csv_path:
print(f"找到符合条件的CSV文件路径:{csv_path}")
else:
print("未找到符合条件的CSV文件路径!")
```
这段代码使用 `os.walk` 函数遍历目录树,找到所有文件和目录。在遍历过程中,对于每个文件,判断是否以 `_diff.csv` 结尾,如果是,就获取文件的完整路径 `full_path`。接下来,使用列表推导式找到当前目录下所有以 `_diff.csv` 结尾的文件,并计算文件数目。如果文件数目为 1,说明当前目录下只有一个以 `_diff.csv` 结尾的文件,满足条件,直接返回 `full_path`。如果遍历结束后未找到符合条件的文件,返回 None。
你需要将 `.` 替换为要查找的根目录路径,然后执行该函数即可。如果找到符合条件的 CSV 文件,会返回路径,否则返回 None。
阅读全文