qq_19519033 2021-09-13 21:32 采纳率: 72.7%
浏览 493
已结题

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 =' ' 

  • 写回答

2条回答 默认 最新

  • 兰振lanzhen 2021-09-13 21:58
    关注

    方法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')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据