我有一个CSV与三个主要栏目,我需要注入。你知道吗
其中一个是产品名“Material” 其中一个是名为“Serial”的组名 决赛是“相关”的,与连续剧的军事匹配
此时CSV将如下所示: (例如,有更多字段和不同的数据)
Martial | Serial | Related
ExOne | GroupOne |
ExTwo | GroupOne |
ExThree | GroupOne |
ExFour | GroupTwo |
ExFive | GroupTwo |
ExSix | GroupThree |
我需要按序列号将每个武术套路与每个套路进行匹配,但限制为五个(并用“//”分隔)
示例结果应如下所示:
Martial | Serial | Related
ExOne | GroupOne | ExOne///ExTwo///ExThree
ExTwo | GroupOne | ExOne///ExTwo///ExThree
ExThree | GroupOne | ExOne///ExTwo///ExThree
ExFour | GroupTwo | ExFour///ExFive
ExFive | GroupTwo | ExFour///ExFive
ExSix | GroupThree | ExSix
这是我第一次尝试Python,我目前尝试的代码只涉及我所说的内容。我构建代码的方式是一点一点的,第一点(目标)是匹配序列组并列出下面的所有军事项目,例如:
GroupOne
ExOne
ExTwo
ExThree
GroupTwo
ExFour
ExFive
GroupSix
ExSix
然后,我可以从那里的情况下,并结合因素(如果超过5 ect)
import csv
import sys
with open('EGLOINDOORCSV.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
Materials = []
Serials = []
for row in readCSV:
Material = row[0]
Serial = row[4]
Materials.append(Material)
Serials.append(Serial)
if Serial == Serial:
print(Serial)
print(Material, end = "///")
print("\n")
break
print("Done")
我的方法是读取CSV两次。第一步,我收集相关信息,第二步,输出:
输出:
注意事项
我假设你的CSV文件没有头。如果这样做,则需要跳过:
row[0]
分配给material
,请调整索引号以匹配您的文件关于
related
字典这本字典是我保存关系的地方,它看起来像这样:
在我的代码中,声明:
是以下的缩写:
首先,让我们重新创建一个示例文件:
现在实际的代码使用Pandas(Pandas与Anaconda包一起提供)。使用
pip install pandas
安装它而不使用anaconda。你知道吗退货:
这是使用inboxitertools的方法,您不需要安装任何额外的包。那么这就是如何用pythonistway和字典和列表理解来写它。你知道吗
逐步方法:
等等!你知道吗
免责声明:这是一个普通的解决方案,都在盒子里,但是请记住,pandas是您处理数据的朋友,如果您需要管理大量数据,请记住安装它并转移到pandas解决方案。
原始数据
相关问题 更多 >
编程相关推荐