python中excel与txt文件相互转换

 此处的txt_file 和excel_file都是文件的地址。下面函数用于将已知地址的txt文件转换为相同目录下的excel文件,并按照空格对每一行进行划分。

import pandas as pd
def txt_to_excel(txt_file):
    # 读取txt文件内容
    with open(txt_file, 'r') as file:
        data = file.readlines()

    # 按照
分隔每一行,按空格分隔每一格子,处理多个空格的情况
    data = [re.split(r's+', line.strip()) for line in data]

    # 将数据转换为DataFrame 
    df = pd.DataFrame(data)

    # 将DataFrame写入excel文件
    excel_file = txt_file.replace('.txt', '.xlsx') #创建统一目录下的excel文件
    df.to_excel(excel_file, index=False, header=False)

    print(f'{txt_file} 已成功转换为 {excel_file}')
    return excel_file #返回一个excel文件,可以对该文件进行再加工

在将excel转化为新的文本文件,命名为renew,保存在统一目录下,没有return,因为不需要对其进行再处理。

import xlrd
def excel_to_txt(excel_file):
    workbook = xlrd.open_workbook(excel_file) #选择一个excel文件
    worksheet = workbook.sheet_by_index(0)  #选择一种的一张表,0表示选择了第一张表
    txt_file = os.path.join(os.path.dirname(excel_file), 'renew.txt') #新建一个文本文件在共一目录下
    with open(txt_file ,'w') as file:
        for row_index in range(worksheet.nrows):  #nrows表示总行数
            for col_index in range(worksheet.ncols):  #表示总列数
                file.write( str(worksheet.cell_value(row_index,col_index)) +'		') 
                #以'		'为间隔
            file.write('
')