我从csv文件中获取了多行字符串,并尝试将其转换为dict。我已经编写了下面的代码,我想使用它,但不知道如何使用它。
scsv = '''coupon, months_to_maturity, FACE_VALUE,
0.3758, 12, 100,
0.7287, 24, 100,
1.0894, 36, 100,
1.4019, 48, 100,
1.6542, 60, 100,
1.8512, 72, 100,
2.0034, 84, 100,
2.1213, 96, 100,
2.2141, 108, 100,
2.2891, 120, 100,
2.3516, 132, 100,
2.4058, 144, 100,
2.4543, 156, 100,
2.4994, 168, 100,
2.5423, 180, 100,
2.5841, 192, 100,
2.6253, 204, 100,
2.6664, 216, 100,
2.7076, 228, 100,
2.7491, 240, 100,
2.7908, 252, 100,
2.8328, 264, 100,
2.8751, 276, 100,
2.9175, 288, 100,
2.9601, 300, 100,
3.0026, 312, 100,
3.0451, 324, 100,
3.0875, 336, 100,
3.1296, 348, 100,
3.1714, 360, 100,
'''
f = StringIO(scsv)
reader = csv.reader(f, delimiter=',')
for row in reader:
#Dont know what should go here
谢谢
答案 0 :(得分:1)
您可以执行以下操作:
import os
import csv
from StringIO import StringIO
scsv = """coupon, months_to_maturity, FACE_VALUE,
0.3758, 12, 100,
0.7287, 24, 100,
1.0894, 36, 100,
1.4019, 48, 100,
1.6542, 60, 100,
1.8512, 72, 100,
2.0034, 84, 100,
2.1213, 96, 100,
2.2141, 108, 100,
2.2891, 120, 100,
2.3516, 132, 100,
"""
scsv = scsv.replace(' ','') #remove white spaces
scsv = scsv.replace(',' + os.linesep, os.linesep) #remove commas at the end of the lines
f = StringIO(scsv)
reader = csv.DictReader(f, delimiter=',')
rows = [row for row in reader]
print rows[0]
# {'coupon': '0.3758', 'months_to_maturity': '12', 'FACE_VALUE': '100'}