我會解釋我的整個問題:
我有2個的CSV文件:從CSV文件中的特定列追加到另一個使用python
- 項目table.csv(大約有50列)
- 交互matrix.csv(大約有45列)
我想字符串從項目table.csv與字符串之間用點(.
)追加在col[43]
在交互matrix.csv的col[1]
兩個Ë串
接下來,
- 交互matrix.csv有套頭..
- 第一次山坳現在必須做我上面
- 所有提到什麼後所附的字符串其他剩餘的列只有0和1的
- 我應該從這個interaction-matrix.csv中只提取那些具有1的列並將其複製到一個新的csv文件中...(第一列完好)
這是代碼我想出...
我得到一個錯誤與keepcols
線VE ...
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)
這是錯誤我得到:
Traceback (most recent call last):
File "prg1.py", line 23, in ?
keepcols = [c for c in allrows[0] if all([r[c] != '0' for r in allrows])]
NameError: name 'all' is not defined
項目表和交互矩陣在它們各自的第一列都有相同的數據..所以我只是將prj-table的col [43]附加到同一表本身的col [1] ...
任何幫助代碼將不勝感激... – totallyignorant 2010-07-09 10:35:36
你使用的是什麼版本的Python? 'all'被添加到python-2.5中。你需要更新至少到那個版本,或者更好的到最新的穩定2.7 – SilentGhost 2010-07-09 10:53:54
好吧我只是想通了,我正在使用Python 2.3 ...我將立即改變我的版本 – totallyignorant 2010-07-09 10:59:13