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 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持