为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数字文本文件读入数组数组

如何将数字文本文件读入数组数组

白猪掌柜的 2022-01-05 12:25:15
在python中,使用OpenCV库,我需要创建一些折线。polylines 方法的示例代码显示: cv2.polylines(img,[pts],True,(0,255,255))我将所有的“pts”放在一个文本文件中,格式如下:x1,y1,x2,y2,x3,y3,x4,y4x1,y1,x2,y2,x3,y3,x4,y4x1,y1,x2,y2,x3,y3,x4,y4如何读取此文件并将数据提供给方法调用中的 [pts] 变量?我已经尝试了 np.array(csv.reader(...)) 方法以及我发现的其他一些示例。我可以成功读取文件,但它不是折线方法想要的格式。(我是 Python 的新手,如果这是 C++ 或 Java,那不会有问题)。
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

如果您知道每行中有固定数量的项目:


import csv


with open('myfile.csv') as csvfile:

    rows = csv.reader(csvfile)

    res = list(zip(*rows))

    print(res)


查看完整回答
反对 回复 2022-01-05
?
POPMUISE

TA贡献1765条经验 获得超5个赞

我会尝试使用 numpy 将 csv 作为数组读取。


from numpy import genfromtxt

p = genfromtxt('myfile.csv', delimiter=',')


cv2.polylines(img,p,True,(0,255,255))

如果您需要将数据强制转换为特定格式,则可能必须将 dtype 参数传递给 genfromtext。


https://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html


查看完整回答
反对 回复 2022-01-05
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

您可能需要单独绘制每条折线(以扩展@Chris 的答案):


from numpy import genfromtxt

lines = genfromtxt('myfile.csv', delimiter=',')


for line in lines:

    cv2.polylines(img, line.reshape((-1, 2)), True, (0,255,255))


查看完整回答
反对 回复 2022-01-05
  • 3 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信