用python读取csv文件,然后分类到相应文件夹中
时间: 2023-10-05 08:09:14 浏览: 150
您可以使用Python的csv模块和os模块来读取CSV文件并将其分类到相应文件夹中。以下是一个示例代码:
```python
import csv
import os
def classify_csv_to_folders(csv_file, folder_mapping):
with open(csv_file, 'r') as file:
reader = csv.reader(file)
next(reader) # 跳过标题行
for row in reader:
filename = row[0] # 假设CSV中的第一列是文件名
category = row[1] # 假设CSV中的第二列是分类
if category in folder_mapping:
folder = folder_mapping[category]
destination_folder = os.path.join(os.getcwd(), folder)
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
source_path = os.path.join(os.getcwd(), filename)
destination_path = os.path.join(destination_folder, filename)
os.rename(source_path, destination_path)
print(f"Moved {filename} to {destination_folder}")
else:
print(f"Invalid category: {category}")
# 定义分类与文件夹的映射关系
folder_mapping = {
'category1': 'folder1',
'category2': 'folder2',
'category3': 'folder3'
}
# 读取CSV文件并分类到相应文件夹
csv_file = 'data.csv' # 替换为您的CSV文件路径
classify_csv_to_folders(csv_file, folder_mapping)
```
在上述代码中,您需要将`csv_file`变量替换为您的CSV文件路径,并根据自己的需求定义分类与文件夹的映射关系`folder_mapping`。然后,代码将遍历CSV文件中的每一行,将文件移动到相应的文件夹中。
请注意,这段代码假设CSV文件的第一列是文件名,第二列是分类。您可以根据实际情况进行修改。此外,代码还会检查分类是否在`folder_mapping`中定义,如果不在,则会输出相应的警告信息。
阅读全文