Python办公自动化 – 对CSV文件运用和管理文件 / 文件夹

发布时间:2023年12月20日

Python办公自动化 – 对CSV文件运用和管理文件 / 文件夹

以下是往期的文章目录,需要可以查看哦。
Python办公自动化 – Excel和Word的操作运用
Python办公自动化 – Python发送电子邮件和Outlook的集成
Python办公自动化 – 对PDF文档和PPT文档的处理
Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务



前言

Python办公?动化是利?Python编程语?来创建脚本和程序,以简化、加速和?动化?常办公任务和?作流程的过程。它基于Python的强?功能和丰富的第三?库,使得能够处理各种办公任务,如?档处理、数据分析、电?邮件管理、?络通信等等。


一、使用Python对文件和文件夹进行管理

Python提供了许多内置库和第三?库,?于?件和?件夹管理。
?些常?的?法和库,可以帮助进??件和?件夹操作:

1、 使?内置的 os 模块

os 模块是Python的标准库之?,?于执??件和?件夹的操作。以下是?些常?的 os 模块功能:

# 创建?件夹:
import os
folder_name = "my_folder"
os.mkdir(folder_name)

# 删除?件夹:
import os
folder_name = "my_folder"
os.rmdir(folder_name)

# 检查?件或?件夹是否存在:
import os
file_path = "my_file.txt"
if os.path.exists(file_path):
print(f"{file_path} 存在")

# 遍历?件夹中的?件:
import os
folder_path = "my_folder"
for filename in os.listdir(folder_path):
print(filename)

2、使?第三?库 shutil

shutil 库是Python标准库的?部分,提供了更?级的?件和?件夹操作。它允许复制、移动、删除?件和?件夹等更复杂的操作。

# 复制?件或?件夹:
import shutil
source = "source_file.txt"
destination = "destination_folder"
shutil.copy(source, destination)

# 移动?件或?件夹:
import shutil
source = "source_file.txt"
destination = "destination_folder"
shutil.move(source, destination)

# 删除?件或?件夹(包括递归删除):
import shutil
file_or_folder = "file_or_folder"
shutil.rmtree(file_or_folder)

3、使?第三?库 pathlib (Python 3.4及以上版本)

pathlib 库提供了?种更?向对象的?式来处理?件和?件夹路径,使代码更具可读性。

# 创建?件夹:
from pathlib import Path

folder_name = "my_folder"
path = Path(folder_name)
path.mkdir()

# 删除?件或?件夹:
from pathlib import Path
file_or_folder = "my_file.txt"
path = Path(file_or_folder)
path.unlink() # 删除?件
path.rmdir() # 删除?件夹

# 遍历?件夹中的?件:
from pathlib import Path
folder_path = "my_folder"
path = Path(folder_path)
for file in path.iterdir():
print(file.name)

以上是?些?于?件和?件夹管理的常??法和库。根据具体的需求,选择适合项?的?法和库来执??件和?件夹操作。

二、Python中CSV文件的操作

在Python中操作CSV?件时,有许多技巧和常??法,以帮助读取、写?和处理CSV数据。
下面是?些常?的CSV?件操作技巧:

1、使?内置 csv 模块

Python内置了?个 csv 模块,可?于处理CSV?件。可以使? csv.reader 来读取CSV?件的内容,以及 csv.writer 来写?CSV?件。

# 读取CSV?件:
import csv
with open('data.csv', 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)

# 写?CSV?件:
import csv
data = [['Name', 'Age', 'City'],
['Alice', 25, 'New York'],
['Bob', 30, 'Los Angeles']]
with open('data.csv', 'w', newline='') as file:
csv_writer = csv.writer(file)
csv_writer.writerows(data)

2、使? pandas 库进行数据处理

pandas 是?个功能强?的数据处理库,可以轻松处理CSV数据。可以使? pandas.read_csv 读取CSV?件,以及使? pandas.DataFrame 来处理和操作数据。

# 读取CSV?件:
import pandas as pd
df = pd.read_csv('data.csv')

# 写?CSV?件:
import pandas as pd
data = {'Name': ['Alice', 'Bob'],
'Age': [25, 30],
'City': ['New York', 'Los Angeles']}
df = pd.DataFrame(data)
df.to_csv('data.csv', index=False)

pandas 还提供了许多数据操作和转换功能,如数据过滤、排序、分组、合并等。

数据过滤

# 使用布尔数组过滤数据
condition = df['column'] > 10
filtered_df = df[condition]

# 使用query方法进行数据过滤
filtered_df = df.query('column > 10')

数据排序

# 按照某一列进行升序排序
sorted_df = df.sort_values('column')

# 按照某一列进行降序排序
sorted_df = df.sort_values('column', ascending=False)

数据分组

# 按照某一列进行分组,并计算每组的平均值
grouped_df = df.groupby('column').mean()

数据合并

# 合并两个DataFrame
merged_df = pd.concat([df1, df2])

# 根据某一列进行合并
merged_df = pd.merge(df1, df2, on='column')

3、处理CSV文件中的头部和索引

CSV?件通常包括标题行(列名)和?索引。可以使? pandas 的 header 和 index_col 参数来处理这些内容。

# 跳过标题?:
df = pd.read_csv('data.csv', header=1) # 跳过第??,将其作为列名
# 设置?定义列名:
df = pd.read_csv('data.csv', names=['Name', 'Age', 'City'])
# 指定索引列:
df = pd.read_csv('data.csv', index_col='Name') # 使?'Name'列作为索引

4、处理缺失值

CSV?件中可能存在缺失值,可以使? pandas 的函数来处理它们,如 dropna() 删除包含缺失值的?, fillna() 填充缺失值等。
这些技巧和?法可以帮助有效地操作和处理CSV?件中的数据。根据的具体需求,选择合适的?法来读取、处理和写?CSV数据。


总结

以上就是今天分享的内容,希望对看到的小伙伴有帮助,后续会持续更新完python办公自动化的文章分享,可以持续关注哦。

文章来源:https://blog.csdn.net/u014740628/article/details/135107875
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。