Python:如何将值从另一个csv文件写入一个csv文件

杰里米·塔姆(Jeremy_Tamu)

对于index.csv文件,其第四列有十个数字,范围从1- 5每个数字都可以视为一个索引,并且每个索引都对应于中的数字数组filename.csv

的行号filename.csv表示索引,每行有三个数字。我的问题是关于使用嵌套循环将数字传输filename.csv到中index.csv

from numpy import genfromtxt
import numpy as np
import csv
import collections

data1 = genfromtxt('filename.csv', delimiter=',')
data2 = genfromtxt('index.csv', delimiter=',')

out = np.zeros((len(data2),len(data1)))

for row in data2:

    for ch_row in range(len(data1)):

        if (row[3] == ch_row + 1):

            out = row.tolist() + data1[ch_row].tolist()

            print(out)

            writer = csv.writer(open('dn.csv','w'), delimiter=',',quoting=csv.QUOTE_ALL)

            writer.writerow(out)

例如,index.csvcontains1,2,5,3,4,1,4,5,2,3的第四列filename.csv

# filename.csv

20 30 50 
70 60 45 
35 26 77 
93 37 68 
13 08 55 

我需要的是从写索引行filename.csvindex.csv并存储在第5,第6和第7列数这些:

# index.csv

#   4 5  6  7 
... 1 20 30 50 
... 2 70 60 45 
... 5 13 08 55 
... 3 35 26 77 
... 4 93 37 68 
... 1 20 30 50 
... 4 93 37 68 
... 5 13 08 55 
... 2 70 60 45 
... 3 35 26 77

如果我执行“ print(out)”,它会给出正确的答案。但是,当我在外壳程序中输入“ out”时,只有一行显示为[1.0,1.0,1.0,1.0,20.0,30.0,50.0]

我需要将所有值存储在“输出”变量中,并将它们写入dn.csv文件。

詹姆斯·米尔斯

这应该为您解决问题:

代码:

from csv import reader, writer


data = list(reader(open("filename.csv", "r"), delimiter=" "))

out = writer(open("output.csv", "w"), delimiter=" ")

for row in reader(open("index.csv", "r"), delimiter=" "):
    out.writerow(row + data[int(row[3])])

index.csv:

0 0 0 1
0 0 0 2
0 0 0 3

filename.csv:

20 30 50
70 60 45
35 26 77
93 37 68
13 08 55

产生输出:

0 0 0 1 70 60 45
0 0 0 2 35 26 77
0 0 0 3 93 37 68

注意:这里不需要使用numpy。标准库csv模块将为您完成大部分工作。

我还必须对样本数据集进行一些修改,因为您显示的样本中的索引超出了样本数据的范围filename.csv

另请注意,Python(与大多数语言一样)使用第0个索引。因此,您可能不得不摆弄上面的代码以完全满足您的需求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将一个CSV的行值映射到另一个CSV的标题值,并在python中写入新的CSV文件

如何将数据写入一个csv文件?

如何使用python将一个csv文件附加到另一个

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

如何将数值写入文件并在 Python 的另一个线程中读取相同的值?

如何将 .csv 文件转换为数组,然后将第一个索引值作为另一个数组的值

如何基于给定的csv文件将像素值转换为另一个值?

如何逐行读取csv文件,修改每一行,将结果写入另一个文件

从csv文件读取特定的列,然后使用python写入另一个CSV

读取 .csv 的内容并使用 python 将其写入另一个 .csv 文件

Python:读取CSV文件并写入另一个文本文件

如何将解析的XML文件写入Java中的另一个文件

如何将unicode日文从一个文件写入另一个文件?

如何根据另一个csv文件替换文件csv的值?

从另一个为CSV文件分配值

Python:尝试将行从一个csv文件提取并输出到另一个csv文件

从一个读取并写入另一个 csv 文件 - PHP

如何将特定列从一个csv文件复制到另一个csv文件?

如何将一个csv文件读入数组并将其比较并替换为另一个csv文件中的条目?

如何将一个div的值写入另一个div

如何将FTP服务器中的CSV文件从一个文件夹移动到另一个文件夹?

如何将用户写入的值转移到另一个文件?

如何使用python将某些csv文件列复制到另一个csv文件中?

如何从另一个csv文件添加列

Liquid Studio:如何将JSON模式$ ref写入另一个文件

如何将已读取并解析的数据写入另一个文件?

将数据从一个CSV导入到另一个CSV文件-如何?

如何将一个文件插入另一个文件的标记位置

如何根据另一个文件中的列表值从csv文件中删除行?