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

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 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥15 抖音看过的视频,缓存在哪个文件