Python读取剪切板的内容并转为list

记录一下,在剪切板里有一段数据:

1	29.003119754802746	26.262735448439088	-236.55271565495212	0	0	0	1	1	0	0	F-1		vtkMRMLScalarVolumeNode1
2	68.00375104159721	-27.417028341667177	-231.29712460063905	0	0	0	1	1	0	1	F-2		vtkMRMLScalarVolumeNode1

我们来读取指定的数据并转为lise以利于以后引用。

从剪切板获取数据

  • 先查到了这段代码:
import os
import subprocess

#将当前剪切板的内容输出到m.txt文件里并用Python读取
os.system("pbpaste > m.txt")
f = open('m.txt','r')
txt=f.read()
#去除换行符和回车符
txt=txt.strip().replace('\r\n',' ').replace('\r',' ').replace('\n',' ')
f.close()
print(txt)
#将新内容拷贝至Mac系统的剪切板
p1=subprocess.Popen(["echo", txt], stdout=subprocess.PIPE)
subprocess.Popen(["pbcopy"], stdin=p1.stdout)

————————————————
版权声明:本文为CSDN博主「新垣结衣法定男友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010555997/article/details/77345764

文本转为list

  • 又查到了这段代码:
file=open('ll.txt')    
dataMat=[]  
labelMat=[]
for line in file.readlines():    
    curLine=line.strip().split("\t")    
    floatLine=map(float,curLine)#这里使用的是map函数直接把数据转化成为float类型    
    dataMat.append(floatLine[0:2]) 
    labelMat.append(floatLine[-1])
print 'dataMat:',dataMat
print 'labelMat:',labelMat
print np.shape(dataMat)
print np.array(dataMat)

————————————————
版权声明:本文为CSDN博主「Roger-Liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43243022/article/details/83004413

safe_float

在数据不全是数字的情况下,转float

  • 还有这个:
def safe_float(number):
    try:
        return float(number)
    except:
        return None

a_float_new = list(map(safe_float, a))
a_float_new

[2.0, 3.5, 10.0, 88.0, 32.66, None]

————————————————
版权声明:本文为CSDN博主「SpeculateCat」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37272286/article/details/81273520

  • 三者结合后我的代码:
import os
import subprocess
import numpy as np
def safe_float(number):
    try:
        return float(number)
    except:
        return None
os.system("pbpaste > m.txt")
file = open('m.txt','r')
dataMat=[]  
for line in file.readlines():    
    curLine=line.strip().split("\t")    
    data=list(map(safe_float,curLine))  
    dataMat.append(data[1:4])
print ('dataMat:',dataMat)
print (np.shape(dataMat))
print (np.array(dataMat))
file.close()

dataMat: [[29.003119754802746, 26.262735448439088, -236.55271565495212], [68.00375104159721, -27.417028341667177, -231.29712460063905]]
shape: (2, 3)
array: [[ 29.00311975 26.26273545 -236.55271565] [ 68.00375104 -27.41702834 -231.2971246 ]]

[End]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jumbo Jing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值