我会解释我的整个问题:
我有2个csv文件:
我想将来自project-table.csv的字符串附加到interaction-matrix.csv的col[43]
中的字符串,并在两个字符串之间添加一个点(col[1]
)
下,
这是我提出的代码......
我收到了.
行的错误...
keepcols
这是我得到的错误:
import csv
reader=csv.reader(open("project-table.csv","r"))
writer=csv.writer(open("output.csv","w"),delimiter=" ")
for data in reader:
name1=data[1].strip()+'.'+data[43].strip()
writer.writerow((name1, None))
reader=csv.DictReader(open("interaction-matrix.csv","r"),[])
allrows = list(reader)
keepcols = [c for c in allrows[0] if all(r[c] != '0' for r in allrows)]
print keepcols
writer=csv.DictWriter(open("output1.csv","w"),fieldnames='keepcols',extrasaction='ignore')
writer.writerows(allrows)
项目表和交互矩阵在它们各自的第1列中都有相同的数据..所以我只是将prj-table的col [43]附加到同一个表本身的col [1] ...
答案 0 :(得分:1)
编辑您的问题以显示您收到的错误消息。更新:NameError可能意味着您使用的是(较旧的)Python版本(哪一个?)没有all()
或(您使用all
作为变量名称并且没有显示您运行的确切代码)
注意:分别以二进制模式(“rb”和“wb”)打开两个文件。
你说“我想在project-table.csv中用col [43]中的字符串在interaction-matrix.csv的col [1]中添加字符串,并在两个字符串之间添加一个点(。)”HOWEVER you正在使用project-table.csv的col [2](而不是col [1])(而不是在那个阶段没有打开的interaction-matrix.csv)。