文件中含有123_diff.csv 和123_o_diff.csv,循环根目录找到只含有_diff.csv的csv文件的路径
时间: 2023-12-01 18:04:52 浏览: 35
可以使用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文件的路径。你可以根据实际情况修改根目录的路径和文件名的匹配规则。
相关问题
文件中含有123_diff.csv 和123_o_diff.csv,循环根目录找到只含有_diff.csv的csv文件
你可以使用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进行进一步的处理。
在路径为path文件中含有123_diff.csv 和123_o_diff.csv等多个csv文件,循环根目录找到只含有_diff.csv的csv文件的路径
可以按照以下步骤实现:
1. 使用Python内置的os模块遍历根目录下的所有文件和子目录。
2. 对于每个文件,检查文件名是否以"_diff.csv"结尾。
3. 如果文件名以"_diff.csv"结尾,检查文件夹中是否存在同名的"_o_diff.csv"文件。
4. 如果不存在同名的"_o_diff.csv"文件,则将当前文件路径添加到结果列表中。
以下是一个示例代码,可以实现上述功能:
```python
import os
root_path = "path"
result = []
for dirpath, dirnames, filenames in os.walk(root_path):
for filename in filenames:
if filename.endswith("_diff.csv") and not filename.endswith("_o_diff.csv"):
filepath = os.path.join(dirpath, filename)
has_o_diff = False
for name in filenames:
if name == filename.replace("_diff.csv", "_o_diff.csv"):
has_o_diff = True
break
if not has_o_diff:
result.append(filepath)
print(result)
```
在以上代码中,我们使用了os.walk()函数来遍历根目录下的所有文件和子目录。对于每个文件,我们首先检查文件名是否以"_diff.csv"结尾,并且不是以"_o_diff.csv"结尾。如果是,则进一步检查文件夹中是否存在同名的"_o_diff.csv"文件。如果不存在,则将当前文件路径添加到结果列表中。最后打印结果列表即可。