python中怎么把输出的一列数字分成两列(excel打开是两列的那种,不是只加个空格)

我的数据每一行是如图这样的带空格的两个数据,但用excel打开后只会在第一列的单元格里

img

我希望可以实现用excel打开也是两列的那种,不知道可不可以
一定会采纳的!谢谢大家!

import codecs
f = codecs.open('D:/data/Ni.MTR', 'r', 'ansi')
line = f.readline()  # 以行的形式进行读取文件
list1 = []
while line:
    a = line.split(",")
    b = a[1:3]       # 这是截取按逗号分隔后的第二个和第三个数据
    list1.append(b)  # 将其添加在列表之中
    line = f.readline()
f.close()


t = ' '
s = ' '     
with open('D:/data/try.txt', 'w+') as f_out:
    for i in list1:  #为了把list1用i表示出来
        for j in range(len(i[0])):
            t = t + i[0][j]  # list1里第i个元素(数)的第一列数据的第j个元素(数字)转化成字符串
        for j in range(len(i[1])):
            s = s + i[1][j]  # list1里第i个元素(数)的第二列数据的第j个元素(数字)转化成字符串 
        f_out.write(t)
        f_out.write(s)
        f_out.write('\n')
       
        t =' '   #清空
        s =' ' 

方法1:因为格式统一,可以使用pandas 的操作,相对简单,如下:

import pandas as pd
df = pd.read_table('test.txt',delimiter = '  ',header = None)  # 指定已空格为分隔,列名称取默认值
df.columns = ['column1','column2']  #手动修改列名称
df.to_excel('test.xlsx')  #保存

方法2:
使用openpyxl模块:

from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
with open('test.txt') as f:
    results = f.readlines()
    for result in results:
        ls = result.split()
        sheet.append(ls)
workbook.save('test1.xlsx')

可以使用split这个方法分割