m0_71721602 2022-06-07 21:22 采纳率: 100%
浏览 97
已结题

txt文本转Excel,以及批量修改文件名

需求:现在有n个不重名子文件夹在同一个文件夹内,且每个子文件夹内有一个txt文件,所有txt文件名相同。现需要:1、将每个txt文件名修改为对应所在文件夹名;2、txt文件改为表格文件。
问题:批量修改文件名没有思路。关于改为表格,我的思路是用DOS指令批量将txt文件后缀名修改为.xls,试过将一个txt文件改为表格,因为txt文件内的数据就是按照表格格式做好的,修改后缀名后打开文件格式是正确的,但所有长串数字全变成了科学计数法显示且最后几位变为0,不能用。所以问题可以转换成如何将表格内的长串数字默认为文本格式
条件:没有Excel,只有wps。

  • 写回答

2条回答

  • 天际的海浪 2022-06-07 21:34
    关注

    txt文件是csv格式吗,用
    df=pd.read_csv('xxx.txt')打开之后
    df.to_excel('xxx..xls',index=None)保存为.xls文件即可,
    pd.read_csv()加dtype=str将全部列转为str类型就可以避免长串数字变成科学计数法显示了

    批量修改文件名
    你题目的解答代码如下:

    import os
    import re
    import pandas as pd
    
    path = r"E:/xxx" #目录路径
    for fn in os.listdir(path):
        ffn=os.path.join(path,fn)
        if os.path.isdir(ffn):
            for fn2 in os.listdir(ffn):
                if re.search(r'\.txt$',fn2):
                    ffn2=os.path.join(ffn,fn2)
                    ffn3=os.path.join(ffn,fn+'.txt')
                    print(ffn2,"改名为",ffn3)
                    os.rename(ffn2,ffn3)
                    df=pd.read_csv(ffn3,dtype=str)#加dtype=str将全部列转为str类型
                    df.to_excel(ffn3.replace('.txt','.xls'),index=None)
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月16日
  • 已采纳回答 6月8日
  • 修改了问题 6月7日
  • 创建了问题 6月7日

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用