1
我正在創建一個字典(第一塊代碼),並希望能夠根據它們的值篩選出我不需要的鍵,然後將其輸出到CSV。創建字典的一個子集,按照值列表對原始字典進行排序。
我想要匹配的值存儲在列表中,在第二塊代碼中生成。
所有是字符串,沒有整數。
這是到目前爲止我的代碼:
#new_dict = raw_input("Enter Dictionary Name")
#source: http://bit.ly/1iOS0e3
import csv
new_dict = {}
with open(raw_input("Enter csv file (including path)"), 'rb') as f:
reader = csv.reader(f)
for row in reader:
if row[0] in new_dict:
new_dict[row[0]].append(row[1:])
else:
new_dict[row[0]] = row[1:]
print new_dict
而且名單:
#modified from: http://bit.ly/1iOS7Gu
import pandas
colnames = ['Date Added to Catalog', 'PUBMEDID', 'First Author', 'Date', 'Journal', 'Link', 'Study', 'DT', 'Initial Sample Size', 'Replication Sample Size', 'Region', 'Chr_id', 'Chr_pos', 'Reported Gene(s)', 'Mapped_gene', 'p-Value', 'Pvalue_mlog', 'p-Value (text)', 'OR or beta', '95% CI (text)', 'Platform [SNPs passing QC]', 'CNV']
data = pandas.read_csv('C:\Users\Chris\Desktop\gwascatalog.csv', names=colnames)
嗨,我有點對你的問題不清楚 - 就是從'data'取值的想法,如果'new_dict'關鍵是不在特定的列中,然後刪除該字典項目?此外,您當前的代碼存儲單元格值的列表,而不是按行分隔 - 這是您的意圖嗎? –
@ will-hart是的,這就是我想要做的。不,我打算逐行分開。也許你也可以幫助解決這個問題,如果你能看到一個解決方案和原始問題? – cps1