csv ファイルから行データを取得する関数を作成しましたが、失敗しました。そのため、何が問題なのかを確認するために非常に多くの「印刷」を挿入しましたが、驚いたことに、コンソールは空のままで、奇妙なことです。私のコードが何度も吹き飛ばされたコード:
# -*- coding: utf-8 -*-
import csv
def get_rows(csv_file):
print '0'
reader=csv.reader(open(csv_file))
print '1'
#get the colnum names,lowercased
col_names=tuple(k.lower() for k in reader.next())
print '2'
for row in reader:
yield dict(zip(col_names,row))
print col_names
def main():
file_name='companylist.csv'
try:
get_rows(file_name)
except:
print 'OK'
if __name__=='__main__':
main()
コード中:
# -*- coding: utf-8 -*-
import csv
reader=csv.reader(open('companylist.csv'))
col_names=tuple(k.lower() for k in reader.next())
for row in reader:
dict(zip(col_names,row))
print col_names
完全に動作し、次のようになります。
('symbol', 'name', 'lastsale', 'marketcap', 'adr tso', 'ipoyear', 'sector', 'industry', 'summary quote', '')
コード中:
# -*- coding: utf-8 -*-
import csv
def main():
reader=csv.reader(open('companylist.csv'))
col_names=tuple(k.lower() for k in reader.next())
print '1'
print col_names
for row in reader:
yield dict(zip(col_names,row))
print col_names
if __name__=='__main__':
main()
何の結果にもならなかった
そしてコード:
# -*- coding: utf-8 -*-
import csv
def get_rows(csv_file):
print '0'
reader=csv.reader(open(csv_file))
print '1'
#get the colnum names,lowercased
col_names=tuple(k.lower() for k in reader.next())
print '2'
for row in reader:
yield dict(zip(col_names,row))
print col_names
def main():
file_name='companylist.csv'
try:
if(get_rows(file_name)):
print "OK"
except Exception,ex:
print Exception,":",ex
if __name__=='__main__':
main()
をもたらしました :OK