我有文本數據的.tsv文件,鏈接在這裏: world bank data操縱TSV文件
我需要的日期將數據讀入的數據結構(任何數據結構),只保留行「7/1/2000「或7/1/2010」,並且只保留原始19列中的7個,我對編程非常陌生,但我認爲這是一個相當簡單的任務,我在這裏有不完整的代碼:
import math
import csv
import re
fhand=open("world_bank_indicators.txt", "rU")
reader=csv.reader(fhand, dialect="excel", delimiter="\t",skipinitialspace=True)
data=dict()
mylist=list()
#doesn't print headers, however
for row in reader:
if row[1]=="7/1/2000" or row[1]=="7/1/2010":
print row[0], row[1], row[9], row[4], row[6], row[5], row[19]
更新,版本使用dictreader:
import math
import csv
import re
fhand=open("world_bank_indicators.txt", "rU")
reader=csv.reader(fhand, dialect="excel", delimiter="\t", lineterminator="\n")
reader=csv.DictReader(fhand, delimiter="\t")
myset=set()
mydict=dict()
mylist=list()
for row in reader:
mydict["Date"]=row["Date"]
print mydict
然而,這似乎只寫一個條目{日期:7/1/2010}我的字典
所以,我明顯的問題是:
1)這並打印的行和列我想要的數據,但是,它不打印每列的標題2)顯然,沒有任何數據結構添加到任何數據結構中,以便我用數據執行任何計算
什麼(痛苦明顯,我確定)我在這裏想念的東西?我怎樣才能完成這兩個簡單的任務?
發佈示例數據文件(或指向示例數據文件的鏈接)會很有幫助。 – senshin
使用一個csv.DictReader,它將以字母作爲關鍵字將行返回爲字典。 – Mark
我嘗試過使用dictreader,但是在編寫某些鍵:值對到我選擇的列表或字典時,我一直在收到問題。 – Mike