【发布时间】:2014-12-01 10:42:05
【问题描述】:
我正在尝试获取如下所示的 test.csv 文件:
小时,哑剧,活跃
100,0.41,1
101,0.19,1
102,0.18,1
103,0.6,1
104,0.45,1
105,0.7,1
90,0.4,1
72.43,0.17,1
73,0.17,1
110,0.5,1
120,1,1
130,2,1
72.19,0.5,1
72.68,0.5,1
看起来像这样:
data = ((100, 0.4, 1), (101, 0.19, 1), (102, 0.18, 1), (103, 0.4, 1),
(104, 0.4, 1), (105, 0.4, 1), (90, 0.4, 1), (72.43, 0.17, 1),
(73, 0.17, 1), (110, 0.5, 1), (120, 0.17, 1), (130, 0.18, 1),
(72.19, 0.5, 1), (72.68, 0.5, 1))
我尝试了以下方法:
import csv
with open('test.csv', 'rb') as f:
reader = csv.reader(f)
data = map(tuple, reader)
但是打印出来的时候是这样的:
[('hr', 'mime', 'active'), ('100', '0.41', '1'), ('101', '0.19', '1'), ('102', '0.18', '1'), ('103', '0.6', '1'), ('104', '0.45', '1'), ('105', '0.7', '1'), ('90', '0.4', '1'), ('72.43', '0.17', '1'), ('73', '0.17', '1'), ('110', '0.5', '1'), ('120', '1', '1'), ('130', '2', '1'), ('72.19', '0.5', '1'), ('72.68', '0.5', '1')]
此外,当我尝试使用 hr 运行一些代码时,我收到此错误:
TypeError: cannot perform reduce with flexible type
我做错了什么?
【问题讨论】:
-
[('100 0.41 1',),('101 0.19 1',),...... 你是如何在你的元组中获取元素逗号分隔的?与您的 csv 文件一样,它由空格分隔。
-
csv 文件以逗号分隔,原始示例带有空格以显示 csv 示例。用逗号更新示例
-
在你的输出中你不期望 ('hr', 'mime', 'active') 元组?
-
是的,我不希望 ('hr', 'mime', 'active') 显示它应该显示为:((100, 0.4, 1), (101, 0.19, 1 ), (102, 0.18, 1), (103, 0.4, 1), (104, 0.4, 1), (105, 0.4, 1), (90, 0.4, 1), (72.43, 0.17, 1), (73, 0.17, 1), (110, 0.5, 1), (120, 0.17, 1), (130, 0.18, 1), (72.19, 0.5, 1), (72.68, 0.5, 1))跨度>
标签: python