python | 批量将 tsv 文件转成 xls 文件,保存到新路径

图示:
在这里插入图片描述

在这里插入图片描述

注意:pandas将不再支持xls

tsv_file.to_excel(new_name)  # 保存为xls文件

说明:由于xlwt包不再被维护,xlwt引擎将在Pandas的未来版本中被移除。这是pandas中唯一支持xls格式编写的引擎。安装openpyxl并改为写入xlsx文件。您可以将io.excel.xls.writer 选项设置为“xlwt”来消除此警告。虽然此选项已被弃用,并且还会引发警告,但可以对其进行全局设置并取消警告。
FutureWarning: As the xlwt package is no longer maintained, the xlwt engine will be removed in a future version of pandas. This is the only engine in pandas that supports writing in the xls format. Install openpyxl and write to an xlsx file instead. You can set the option io.excel.xls.writer to 'xlwt' to silence this warning. While this option is deprecated and will also raise a warning, it can be globally set and the warning suppressed.

代码

"""
说明:该程序实现将tsv文件转换成xlsx文件,并保存到新的路径
"""

import pandas as pd
import os
import openpyxl

workb = openpyxl.Workbook()
old_path = 'F:/gdc/test'  # 原文件夹路径
new_path = 'F:/gdc/result'  # 新文件夹路径


# 获取指定文件中文件名
tsv_route = []
def get_filename(route):
    tsv_name_list = []
    for root, dirs, files in os.walk(route):
        tsv_name_list = tsv_name_list + files
    return tsv_name_list  # 返回每一个tsv文件的绝对路径


# 更换后缀
def change_suffix(cur_name, new_path):
    no_tsv_name = cur_name.split('.tsv')
    # 目前以下xlsx、xls都能用,这个xls保存方法在不久的将来不再能用
    # xsl_name = no_tsv_name[0] + '.xlsx'  # 保存为xlsx
    xsl_name = no_tsv_name[0] + '.xls'  # 保存为xls
    new_name = new_path + '/' + xsl_name
    return new_name


def main_function(old_path, new_path):
    final_name_list = []
    final_name_list = get_filename(old_path)
    for item in final_name_list:
        tsv_route.append(old_path + '/' + item)
    count = 1
    # 在一个for循环中同时遍历2个list对应的元素,可以通过python的内置zip函数实现
    for tsv_name, el in zip(tsv_route, final_name_list):
        tsv_file = pd.read_csv(tsv_name, sep='\t')  # 读取tsv文件内容
        new_name = change_suffix(el, new_path)  # 更换后缀
        tsv_file.to_excel(new_name)  # 保存为xls文件
        # 完成计数
        print(count, '--完成')
        count += 1
    return final_name_list


main_function(old_path, new_path)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值