gpt4 book ai didi

python - 如何在Python中以特定的输出格式将矩阵(从一个文件读取)写入另一个csv文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:22 25 4
gpt4 key购买 nike

我有一个 csv 文件,其中包含矩阵格式的数据,其示例如下所示:

index,col1,col2,col3,col4,col5,col6
col1_1,1,0.005744233,0.013118052,-0.003772589,0.004284689
col2_1,0.005744233,1,-0.013269414,-0.007132092,0.013950261
col3_1,0.013118052,-0.013269414,1,-0.014029249,-0.00199437
col4_1,-0.003772589,-0.007132092,-0.014029249,1,0.022569309
col5_1,0.004284689,0.013950261,-0.00199437,0.022569309,1

不,我想读取此文件中的数据并将其写入另一个 csv 文件,但我需要的格式是这样的:

col1_1,value,col1
col1_1,value,col2
col1_1,value,col3
.
.
.
col2_1,value,col1
col2_1,value,col2
.
.
.

所以基本上第一个元素将是第一列中的列名称,后跟该列的值和第一行中的元素。

我编写了这段代码,但它只是以错误的格式编写:

reader = csv.reader(open(IN_FILE, "r"), delimiter=',')
writer = csv.writer(open(OUT_FILE, "w"), delimiter=',')

with open(IN_FILE) as infile:
with open(OUT_FILE, "w") as outfile:
reader = csv.reader(infile, delimiter=",")
writer = csv.writer(outfile, delimiter=",")
writer.writerow(next(reader))
for line in reader:
writer.writerow([line[0],line[1]])

如何在 python 中执行此操作?

最佳答案

试试这个:

reader = csv.reader(open(IN_FILE, "r"), delimiter=',')
writer = csv.writer(open(OUT_FILE, "w"), delimiter=',')

with open(IN_FILE) as infile:
with open(OUT_FILE, "w") as outfile:
reader = csv.reader(infile, delimiter=",")
writer = csv.writer(outfile, delimiter=",")

first_row = None
for line in reader:
if first_row is None:
first_row = line
else:
for index, col in enumerate(first_row[1:]):
writer.writerow([line[0],line[index + 1],col])

这似乎有效。尽管您的测试数据看起来缺少“col6”。

您的初始代码的问题是它没有循环遍历每一列和行。

关于python - 如何在Python中以特定的输出格式将矩阵(从一个文件读取)写入另一个csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36359072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com