【发布时间】:2020-04-13 08:29:38
【问题描述】:
所以我正在做 Python 入门课程,我需要做以下事情: 有一个 CSV 文件,其中有 10 列,填充 200 行。每个都有 str、int 或 float 作为值。
示例输入:
id gender age marital location income intelliscore emotiscore
51 F 46 M 0 15100 531 555
52 M 29 M 2 14200 673 633
53 M 25 S 0 22200 742 998
54 M 36 M 2 1000 677 646
55 F 99 S 0 10600 608 998
现在我要做的是创建另一个 CSV 文件,并用类型“替换”这些值。所以想要的结果是:
'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string'
'int', 'string', 'int', 'string', 'int', 'int', 'int', 'int', 'int'
'int', 'string', 'int', 'string', 'int', 'int', 'int', 'int', 'int'
'int', 'string', 'int', 'string', 'int', 'int', 'int', 'int', 'int'
'int', 'string', 'int', 'string', 'int', 'int', 'int', 'int', 'int'
我目前使用的代码是:
def csvfields2types(self, csvfile):
csvtypes = []
for line in csvfile:
row = []
for variable in line:
if variable == str:
row.append('string')
elif variable == float:
row.apend('float')
elif variable == int:
row.append('int')
else:
row.append('huh?')
csvtypes.append(row)
return csvtypes
它只是返回一个带有“嗯?”的列表。
【问题讨论】: