Python 2.7 Python csv文件确定数据类型

Python 2.7 Python csv文件确定数据类型,python-2.7,csv,Python 2.7,Csv,新来的学生,请原谅我的无知,我已经找了很多,但没有找到解决我问题的办法。我需要导入一个包含混合数据类型[int、float和string]的CSV文件,确定数据类型,然后对int和float进行数学运算 问题是csv阅读器将所有内容转换为字符串(或者它们已经是字符串?)。我可以尝试转换成float,如果它抛出一个错误消息,我知道它是一个字符串,但是我如何判断它是否是一个float,因为我的程序需要在两者之间进行判断 我只允许导入CSV,不允许导入其他内容。这是我第一年学习python的第二门课程

新来的学生,请原谅我的无知,我已经找了很多,但没有找到解决我问题的办法。我需要导入一个包含混合数据类型[int、float和string]的CSV文件,确定数据类型,然后对int和float进行数学运算

问题是csv阅读器将所有内容转换为字符串(或者它们已经是字符串?)。我可以尝试转换成float,如果它抛出一个错误消息,我知道它是一个字符串,但是我如何判断它是否是一个float,因为我的程序需要在两者之间进行判断

我只允许导入CSV,不允许导入其他内容。这是我第一年学习python的第二门课程,我真的不知道如何做到这一点

编辑,找到一个与我的问题类似的答案,但它仍然返回错误的答案,int通常(但不总是)仍然以字符串类型返回:

 import csv


 tests = [
    # (Type, Test)
    (int, int),
    (float, float),

   ]

  def getType(value):
     for typ, test in tests:
     try:
         test(value)
         return typ
     except ValueError:
         print 'value error'
         continue
 # No match
 return str

    file = open('adult.csv')
    reader = csv.reader(file)
    filename = 'output.xml'
     text = open(filename, 'w')
    text.write('<?xml version="1.0"?>')
     text.write('<!DOCTYPE summary [')

     headers = reader.next()
     for i in headers:
     print '<name>'
     print i
     print '</name>'
     print '<dataType>' 
for a in i[1]:
    print getType[a]


#for row in fields:
  #  text = row[2]
  #  print type(text)
print '</dataType>'
#for value in i:
   # print type(value)




print '<!ELEMENT summary\n\n>'
#text.write('<element>')
导入csv
测试=[
#(型式、试验)
(int,int),
(浮动,浮动),
]
def getType(值):
对于典型,在测试中测试:
尝试:
测试(数值)
返回类型
除值错误外:
打印“值错误”
持续
#没有对手
返回str
文件=打开('成人.csv')
reader=csv.reader(文件)
文件名='output.xml'
text=打开(文件名“w”)
text.write(“”)
text.write(“”)

好的,对不起,各位,我想我找到了一些我认为有用的代码:

应该更努力地搜索,尽管仍然不能可靠地给出正确的类型