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

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 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含