druid_yy 2023-08-27 20:53 采纳率: 11.1%
浏览 9
已结题

想写一个收集文件夹内文件的代码,按文件名和时间分列在一个excel里

我想做一个能把指定文件夹内的txt文件收集到一个excel文件里面,文件内容是股票名称和代码,代码是在括号里面,文件名字也有括号和代码,汉字,按文件的名字和文件的时间,把文件内容收集分列在一个文件里。
然后发起过提问,按照改了改,成这样。只能跑到文件名,之后的excel并没有出现。不知道为什么,

以下是代码

import os
import re

import pandas as pd

# 遍历文件夹中的文件
folder_path = r"D:\各种模\选股结果"
file_list=[]
for i in os.listdir ( folder_path ):
    if i.endswith('.txt'):
        file_list.append(i)
        #stock_data=pd.read_table(path,sep='@lms@',encoding='utf-16',engine='python')
        #    for j in stock_data:
        #stock_data=loa
        #stock_data.findall(r'\d+',stock_data)
        print(i)
columns=['date','name','code','file_name','file_date']
df=pd.DataFrame(columns=columns)
for file_name in file_list:
    file_path=os.path.join(folder_path,file_name)
    with open(file_path,"r" ,encoding='gbk', errors='ignore') as file:
        file_content=file.read()
        match=re.search(r"(.*)\((.*)\)",file_content)

        if match:
            name,code=match.groups()
            date = pd.Timestamp.now()
            file_date=os.path.getmtime(file_path)
            df=df.append({'date':date,'name':name,'code':code,'file_name':file_name,'file_date':file_date},ignore_index=True)
            
with pd.ExcelWriter("output.xlsx")as writer:
    df.to_excel(writer,sheet_name='Sheet1')
#print ( get_FileCreateTime ( path ) )


  • 写回答

13条回答 默认 最新

  • bug菌¹ Java领域优质创作者 2023-08-31 18:46
    关注
    获得1.60元问题酬金

    题主,这个问题我来替你解决(参考结合AI智能、文心一言),若有帮助,还望采纳,点击回答右侧采纳即可。


    好的,以下是Python代码示例:

    import os
    import xlwt
    import datetime
    
    # 获取指定文件夹内的所有文件名及其创建时间
    def get_files(folder_path):
        files = os.listdir(folder_path)
        result = []
        for file in files:
            filepath = os.path.join(folder_path, file)  # 获取文件的完整路径
            if os.path.isfile(filepath):  # 判断是否为文件
                filetime = datetime.datetime.fromtimestamp(os.path.getctime(filepath))  # 获取文件创建时间
                result.append((file, filetime))
        return result
    
    # 将文件信息保存到Excel中
    def save_to_excel(files, filepath):
        wb = xlwt.Workbook(encoding='utf-8')
        sheet = wb.add_sheet('File List')
        sheet.write(0, 0, 'File Name')
        sheet.write(0, 1, 'Create Time')
        row = 1
        for file in files:
            sheet.write(row, 0, file[0])
            sheet.write(row, 1, file[1].strftime('%Y-%m-%d %H:%M:%S'))
            row += 1
        wb.save(filepath)
    
    if __name__ == '__main__':
        folder_path = '/path/to/folder'  # 指定文件夹路径
        excel_path = 'file_list.xls'  # 指定生成的Excel文件路径
        files = get_files(folder_path)  # 获取文件信息
        save_to_excel(files, excel_path)  # 保存到Excel中
    

    你需要将其中的/path/to/folder改为你要操作的文件夹路径,file_list.xls改为你要生成的Excel文件名。运行代码后,就会在当前目录下生成一个名为file_list.xls的文件,文件中包含了每个文件的文件名和创建时间。

    评论

报告相同问题?

问题事件

  • 系统已结题 9月6日
  • 赞助了问题酬金20元 8月29日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析