我是Python的新手,无法使用列表.

如您所见,我公开了我的问题,我有一个具有以下结构的datos.csv文件.

1,4.0,?,?,none,?

2,2.0,3.0,?,none,?

2,2.5,2.5,?,tc,39

使用此功能,我将数据存储在列表中.

def main():

lista = []

with open('datos.csv','r') as f:

for line in f:

lista.append(line.strip().split(','))

determinar_tipo(lista)

if __name__ == '__main__':

main()

至此,我没有问题.

但是,当我必须确定元素的类型时,问题就来了.

使用此代码,我可以按列组织列表

for columna in itertools.izip(*lista):

如所示,此代码使我可以将数据视为列,这是我从此“ for”中收到的示例:

06003

如您所见,是来自我的csv文件的相同数据,但按列结构.

好的,这是我的问题.

我必须根据其参数确定每个列的类型,即假设第一列{‘1′,’2′,’3’}检查第一个元素,并且该元素就是那个类型列,在这种情况下,此列的类型为int.

另一个带有{‘4.0′,’2′,’2.5’}的示例,我检查了主要元素的类型并确定它是浮点型的.

对于{‘?’,’?’ ,’?’}类型为“不确定”.

但是,问题出在符号“?”的问题上,如果我得到了这些符号,则必须检查该列的下一个元素,这将是名为“ word”,{‘?”,“ Word”, ‘5’},因此列的类型将为字符串.

这是我开发的用于验证它的代码,但是我没有正确确定类型.

def determinar_tipo(lista):

b = 0

aux = []

for columna in itertools.izip(*lista):

if columna[0] != "?": #If it's a number or string I save it

aux.append(columna[0])

print columna[0]

else: #If it's '?'

if len(columna) > b:

b = b + 1

if columna[b] != "?":

aux.append(columna[b])

b = 0

else:

b = b + 1

print b

#Correct code

for x in aux:

try:

var_type = type(int(x))

except ValueError:

try:

var_type = type(float(x))

except ValueError:

var_type = type(x)

print var_type

代码的第一部分负责将元素存储在另一个列表中,以确定每个列的类型,而代码的第二部分负责检查上一列表中每个元素的类型.

总之,我不知道如何使“ for”返回正确的元素以正确检查列的类型.

这是我的数据的正确答案:

1 , 4.0 , ? , ? , none , ?

2 , 2.0 , 3.0 , ? , none , ?

2 , 2.5 , 2.5 , ? , tc , 39

int float float undetermined string int**

pythoncsv数据类型_从CSV确定数据类型-Python相关推荐

  1. 不属于python的数据类型_下列________不是Python的数据类型。

    [判断题]已知 x, y = 3, 5,那么执行x, y = y, x 之后,x的值为15. [多选题]Python 中对变量描述正确的选项是( ) [单选题]字符串是一个连续的字符序列,用_____ ...

  2. java 输出数据类型_输入输出和java数据类型

    一.输入有两种方式. 1.使用Scanner. 使用时要在开始声明引用import  java.util.Scanner包.然后定义Scanner对象: Scanner  input=new Scan ...

  3. python删除指定行_关于csv:删除python中的特定行和对应文件

    我想删除90%的"转向"值等于0的行.这三个图像都有一个对应的图像文件,中间,左边和右边.我也要删除它们.csv文件如下: 我编写了以下代码,以至少获取转向值为0的文件.我所需要的 ...

  4. gdal数据类型_科学网-gdal数据类型的代码的核心定义文件-林清莹的博文

    /*************************************************************************** * * Time: 2009-09-21 * ...

  5. 西门子real是什么数据类型_西门子PLC的数据类型及数据转换

    1. 数据类型 在PLC项目编程中,离不开数据类型和变量,搞清楚数据类型和数据类型的转换很重要. 常用的数据类型包括以下几种: 位(bit),字节(Byte),字(Word),双字(Double Wo ...

  6. mysql中的转换类型数据类型_数据库中转换数据类型的几种方法

    展开全部 oracle有三种最基本的数据类型,即字符型.数值型.日期型. (注意需要起别名的地方要起别名) oracle提供的单行62616964757a686964616fe4b893e5b19e3 ...

  7. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  8. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  9. plsql大字段保存类型_大揭秘,学习python,为什么数据类型有这么重要

    1. 一切都为了数据 数据类型的重要性总是被初学者低估,以至于他们囫囵吞枣般的将这部分知识"学会"以后,就要开始研究如何用python编写坦克大战了. 阅读本文,要求你理性且智慧, ...

最新文章

  1. mysql5.5.9_mysql5.5.9字符集设置
  2. mysql创建全外连接的视图_MySQL之视图
  3. python表单防重复提交_防止二次提交(重复提交)
  4. mysql 的文件介绍_mysql 数据文件介绍
  5. 成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
  6. NoSQL学习笔记(二)之CAP理论
  7. webpack第一节(4)
  8. java sentence_Java Sentence類代碼示例
  9. 字符串转16进制字节数组,字节数组转16进制字符串
  10. python之eval函数,map函数,zip函数
  11. Python中的“ @”(@)符号有什么作用?
  12. 1146 Topological Order(25 分)
  13. 数独游戏的设计与实现
  14. 计算机二级教程48讲视频,天津大学 《线性代数》视频教程48讲 真人手写精品
  15. 动易CMS 复制word里面带图文的文章,图片可以直接显示
  16. 共享计算机怎么连,电脑如何连接共享文件
  17. VB语言和C语言有什么区别
  18. Matlab 如何生成三维图像
  19. IOS逆向学习之路之iPod touch4 越狱心得
  20. Visual Studio 2019 企业版 16.9.x 创建离线包并安装教程(带百度网盘下载地址和序列号)

热门文章

  1. 事情没有想象中那么难--JX官网首页3D粒子效果
  2. 如何通过C#开发一个媒体播放器(中)
  3. linux使用fabric教程,Hyperledger fabric在Linux下的环境搭建
  4. python提取日志内容_Python正则提取日志内容
  5. 监管码服务器维修,云风的 BLOG
  6. Java打卡Day4-算术运算符
  7. 2019如何新建流程图_用Word制作流程图,居然还有这么多小技巧
  8. java js 解析器_graphqljs具有多个参数的解析器
  9. list 分组_Power query 灵活处理员工特殊出勤问题(3)-TableGroup分组 amp; 合并查询
  10. eigrp配置实验_来,太阁带你做实验