突发奇想,利用python写一段代码完成文件夹内多种类型文件名的读取,输出为一个excel表格
为了完成这个任务,我们需要做几件事情:
- 遍历文件夹并读取所有文件名。
- 将文件名和它们各自的文件类型(扩展名)存储在一个列表中。
- 使用
pandas
库将列表转换为DataFrame。 - 将DataFrame保存到Excel文件中。
首先,确保你已经安装了pandas
和openpyxl
(用于将DataFrame保存为Excel文件):
pip install pandas openpyxl
接下来是Python代码:
import os
import pandas as pd
def get_files_in_directory(directory):
files = []
for root, dirs, filenames in os.walk(directory):
for filename in filenames:
file_path = os.path.join(root, filename)
file_extension = os.path.splitext(filename)[1][1:].lower() # 获取扩展名并转换为小写
files.append((file_path, file_extension))
return files
def save_to_excel(data, output_file):
df = pd.DataFrame(data, columns=["File Path", "File Extension"])
df.to_excel(output_file, index=False, engine='openpyxl')
# 设置文件夹路径和输出Excel文件路径
directory_path = "path_to_your_directory" # 替换为你的文件夹路径
output_excel_path = "output.xlsx" # 输出Excel文件的路径和名称
# 获取文件夹内的文件及其扩展名
files_with_extensions = get_files_in_directory(directory_path)
# 保存到Excel文件
save_to_excel(files_with_extensions, output_excel_path)
print(f"文件已保存到 {output_excel_path}")
将上述代码中的path_to_your_directory
替换为你要读取文件名的文件夹的实际路径。运行代码后,它会在你指定的文件夹中遍历所有文件,并将文件名和扩展名保存到Excel文件中。
在Python中,你可以使用内置的open()
函数来打开文件,并使用文件的readlines()
方法来读取文件中的所有行。以下是一个简单的示例:
# 替换为你的文件路径
file_path = "path_to_your_file.txt"
# 使用 'r' 参数打开文件以进行读取
with open(file_path, 'r') as file:
# 读取文件中的所有行,并存储到列表中
lines = file.readlines()
# 打印读取到的所有行
for line in lines:
print(line, end='') # end='' 用于避免在每行末尾打印额外的换行符
在这个示例中,open()
函数用于打开文件,with
语句用于确保文件在操作完成后正确关闭。readlines()
方法读取文件中的所有行,并将它们作为字符串列表返回。每个字符串代表文件中的一行。
注意,readlines()
方法会读取整个文件到内存中,因此如果你的文件非常大,这可能会消耗大量内存。对于大文件,你可能希望逐行读取文件,以避免内存问题。这可以通过在with
块内使用循环和file.readline()
方法来实现:
# 替换为你的文件路径
file_path = "path_to_your_large_file.txt"
# 使用 'r' 参数打开文件以进行读取
with open(file_path, 'r') as file:
# 逐行读取文件并打印
for line in file:
print(line, end='') # end='' 用于避免在每行末尾打印额外的换行符
在这个示例中,我们直接在for
循环中使用文件对象file
,它会逐行迭代文件的内容,而不需要一次性读取整个文件。这对于处理大文件来说更为高效。