Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据分米数拆分一根线_Python_String_Crop - Fatal编程技术网

Python 根据分米数拆分一根线

Python 根据分米数拆分一根线,python,string,crop,Python,String,Crop,我有一个csv文件,它由5列组成,其中我只需要用管道(|)分隔符分隔的两列。以下是其中的几个: SERIAL_NO|N|1385,45,871,104|1|? CUST_ID|N|1704,211,552,71|1|? PROD_TYPE|A|367,286,1167,74|1|? BRANCH_CODE|N|1892,429,254,74|1|? BRANCH_NAME|A|682,412,774,72|1|? DATE|N|2022,581,241,82-1863,581,137,75-16

我有一个csv文件,它由5列组成,其中我只需要用管道(|)分隔符分隔的两列。以下是其中的几个:

SERIAL_NO|N|1385,45,871,104|1|?
CUST_ID|N|1704,211,552,71|1|?
PROD_TYPE|A|367,286,1167,74|1|?
BRANCH_CODE|N|1892,429,254,74|1|?
BRANCH_NAME|A|682,412,774,72|1|?
DATE|N|2022,581,241,82-1863,581,137,75-1697,581,153,85|1|?
我只需要列表中的第0个和第2个索引数据,这样我就可以根据给定的坐标将该数据输入到图像中,我将在图像中进行裁剪,并使用与第0个索引数据相同的文件名保存这些图像

为了让这里更清楚,我想做的是,我有一个坐标在csv文件中的图像(如1385,45871104),在给定坐标的基础上裁剪后,我想用该行的第0个索引数据的名称保存文件,即(序列号).我必须对所有行执行此操作,有些行有多个坐标,坐标被-符号除

f = open("file.csv", "r")
coordinates = []
for line in f:
    splitted = line.split("|")
    for coor in splitted[2].split("-"):
        coordinates.append((splitted[0], coor)
f.close()

这将为您提供作为元组列表的坐标

您可以获取
csv
模块,以便在管道字符上为您拆分文件:

import csv
f = open("file.csv", "r")
reader = csv.reader(f, delimiter='|')
for row in reader:
    print (row[0],":",row[2].split("-"))
输出为

SERIAL_NO : ['1385,45,871,104']
CUST_ID : ['1704,211,552,71']
PROD_TYPE : ['367,286,1167,74']
BRANCH_CODE : ['1892,429,254,74']
BRANCH_NAME : ['682,412,774,72']
DATE : ['2022,581,241,82', '1863,581,137,75', '1697,581,153,85']

对于此类问题,请停止使用
opencv
image processing
标签!从你现在提出的四个完全相同的问题中可以清楚地看出,你最终想要实现什么。然而,这里提到的这个问题本身与OpenCV或图像处理无关。另外,不要忽略问题的答案。@HansHirse前面问题中的解决方案不起作用……然后在那里发表对该答案的评论,然后继续!不要在短时间内提出几乎相同的问题,反复使用错误的标签。例如,你没有回答回答者在前一个问题中的最后一句话。在写问题时,尤其是标题时,请省去所有的浮夸,如“我在这段时间遇到了麻烦”,“我想知道怎么做”把注意力集中在你的实际问题上@JamesZ@HansHirse如何根据(x、y、w、h)格式的坐标裁剪图像,并将裁剪后的图像保存在第1列(序列号、客户ID等)我基本上想把所有的片段保存在各自的文件夹中,画出csv文件中所有可用的区域坐标,并用命名约定保存文件。字段名作为文件名我收到错误。。。。。。。f=open(“page1_CA.csv”,“r”)坐标=[]表示f中的行:splitted=line.split(“|”)表示coor表示splitted[2]。split(“-”)表示坐标。append((splitted[0],coor)f.close()文件“”,第8行f.close()^SyntaxError:无效语法您应该查看缩进:如何根据(x、y、w、h)格式的坐标裁剪图像,并将裁剪后的图像保存到第1列(序列号、客户ID等)名称。我基本上希望将所有代码段保存在各自的文件夹中,绘制csv文件中可用的所有区域坐标,并使用命名约定保存文件。字段名称作为文件名正如您在日期行中所看到的,有三种不同的坐标,我也希望它们分别存在……我不相信这是您的问题陈述中的内容。你说可以有多组坐标,这不是你想用它们做的。但我对这个问题做了编辑。你不能让
csv
一次注意到两个分隔符,所以你必须自己进行第二级分割。如何根据以(x、y、w、h)并用第一列(即序列号、客户ID等)名称保存裁剪后的图像。我基本上希望将所有片段保存在各自的文件夹中,绘制csv文件中可用的所有区域坐标,并使用命名约定保存文件。字段名作为文件名