如何通过python把文件夹内所有txt文件遍历到一个Excel里。并且按每个文件的名字和文件生成时间作为备注一和备注二。txt文件内的内容统一格式:汉字、括号、内为6位数字。
该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以使用Python内置的 os 和 glob 模块来遍历文件夹内的所有txt文件,然后使用 pandas 模块将它们写入Excel文件中。以下是一个基本的示例代码:
import os
import glob
import pandas as pd
# 文件夹路径
folder_path = "your/folder/path/"
# 遍历文件夹内的所有txt文件
txt_files = glob.glob(os.path.join(folder_path, "*.txt"))
# 创建一个DataFrame来保存文件内容和备注
df = pd.DataFrame(columns=["文件名", "生成时间", "内容"])
# 遍历每个txt文件,将内容读取到DataFrame中
for txt_file in txt_files:
with open(txt_file, "r", encoding="utf-8") as f:
content = f.read()
# 从文件名中获取备注信息
file_name = os.path.basename(txt_file)
remark1 = file_name
remark2 = str(os.path.getmtime(txt_file))
# 将文件名、生成时间、内容添加到DataFrame中
df = df.append({"文件名": file_name, "生成时间": remark2, "内容": content}, ignore_index=True)
# 将DataFrame写入Excel文件
excel_file = "output.xlsx"
df.to_excel(excel_file, index=False)
上述代码中,os.path.join 用于构建文件路径,glob.glob 用于获取指定目录下的所有txt文件,pandas.DataFrame 用于保存文件内容和备注,os.path.basename 用于获取文件名,os.path.getmtime 用于获取文件的生成时间,pandas.DataFrame.to_excel 用于将DataFrame写入Excel文件。
·
注意,如果txt文件内的内容格式不一致或不符合要求,可能会导致代码运行出错。如果需要更加严格的内容匹配,可以使用正则表达式来匹配文件内容。
写文件demo:这个也可以是覆盖写文件的格式,参数用w
with open('test.txt', 'w') as writers: # 打开文件
a = 'xxx'
writers.write(a) # 将内容写到文件中
writers.close() # 关闭文件,此处可以理解为保存
在一个文件尾部追加新内容demo:
with open('test.txt', 'a+') as writers: # 打开文件
a = 'xxx'
b = 'yyy'
writers.write(a + ‘,’ + b) # 将内容追加到到文件尾部
#如果要按行写入,我们只需要再字符串开头或结尾添加换行符'\n'
writers.write(a + '\n')
# 如果想要将多个变量同时写入一行中,可以使用writelines()函数,要求将传入的变量写成一个list:
writers.writelines([a, ',', b])
读写追加的主要区别,体现在open()函数中的mode参数上,关于open()的mode参数:
‘r’:读
‘w’:写, 覆盖写
‘a’:追加
‘r+’ == r+w(可读可写,文件若不存在就报错(IOError))
‘w+’ == w+r(可读可写,文件若不存在就创建)
‘a+’ ==a+r(可追加可写,文件若不存在就创建)
对应的,如果是二进制文件,就都加一个b就好啦:
‘rb’ ‘wb’ ‘ab’ ‘rb+’ ‘wb+’ ‘ab+’
可以递归遍历下,也就是从根目录出发,调用自身或者文件列表