Python 如何基于CSV文件创建CSV矩阵?

Python 如何基于CSV文件创建CSV矩阵?,python,csv,matrix,Python,Csv,Matrix,我只是学习python,我不知道从哪里开始,也不知道我当前的项目要做什么。我得到了一个项目来制作一个矩阵,它可以显示从一个.csv文件到另一个.csv文件的颜色之间的关系。输入和输出文件如下所示 输入 black blue red blue blue black yellow black 输出 black blue red yellow black 0 1 0 1 blue 1

我只是学习python,我不知道从哪里开始,也不知道我当前的项目要做什么。我得到了一个项目来制作一个矩阵,它可以显示从一个.csv文件到另一个.csv文件的颜色之间的关系。输入和输出文件如下所示

输入

black blue
red blue
blue black
yellow black 
输出

             black   blue   red   yellow
black          0      1      0      1
blue           1      0      1      0
red            0      1      0      0
yellow         1      0      0      0
?```
通过使用此代码,但.csv输出不会显示任何内容

import csv
import collections
import itertools

grid = collections.Counter()

with open("color.csv", "r", newline="") as fp:
    reader = csv.reader(fp)
    for line in reader:
        line = [name.strip() for name in line if name.strip()]
        if len(line) == 1:
            grid[line[0], line[0]] += 1

relations = sorted(set(pair[0] for pair in grid))

with open("color_sorted.csv", "w", newline="") as fp:
    writer = csv.writer(fp)
    writer.writerow([''] + relations)
    for relation in relations:
        line = [relation,] + [grid[relation, other] for other in relations]
        writer.writerow(line)

你试过什么代码?这是一个家庭作业问题吗?我只试过python。我之所以使用python,是因为我必须再次将其转换为CSV。通常,在堆栈溢出时,如果有人问您尝试了什么代码,我们希望您编辑问题以显示该代码。说你刚刚尝试过Python没有什么帮助。将矩阵实现为一个用零初始化的二维数组。然后将颜色视为该数组中数字水平和垂直索引的名称,您需要处理每对输入颜色,以有效地设置
矩阵[black][blue]=1
矩阵[red][blue]=1
,等等。@jramsey,我看到了,编辑它,并发布我尝试过但没有显示任何内容的代码。