我写了一个Python程序,它读取CSV文件并将它们作为MySQL的插入语句吐出.现在我想要一个能够使用列标题为每个新表格形成CREATE语句的附加程序.由于MySQL格式化,我需要能够确定列中每个值的类型,类似于shell中的type()函数.我的想法是在列标题之后读取CSV文件的第二行,并拉出由a分隔的值(即每列中的一个值).然后获取该值并通过type()函数运行它并返回int,str,float等.稍后我将使用type()返回的值执行一些if语句,以将正确的数据类型附加到结尾处. CREATE语句的列标题.

到目前为止,我已经设法从第一行的编译列表中拉出每个值并打印它所在的类型().唯一的问题是列表中的所有内容都被视为字符串,因此唯一的返回值是< class'str'>.如果我知道它是什么类型的值,我将能够从字符串转换为正确的类型,但这会破坏程序的整个目的.我确信有一种更好的方法可以将第一行作为字符串列表吐出,但我不知道该怎么做.以下是我到目前为止以及如何继续的想法:

import csv, os

path = 'C:/Users/user/Desktop/file/test/'

for file in os.listdir(path):

if file.endswith('.csv'):

with open(path +file) as inFile:

with open(path + file[:-4] + ".txt", "w") as outFile:

csvFile = csv.reader(inFile)

columnHeader = next(csvFile)

firstRow = next(csvFile)

i = 0

for value in firstRow:

valueType = (type(value))

for header in columnHeader:

if valueType = class 'str': # Don't think this formatting is correct

columnHeader.append(' varchar (255)')

if valueType = class 'int':

columnHeader.append(' int')

if valueType = class 'float':

columnHeader.append(' float')

我也研究过使用this库,但我更喜欢自己做.

我选择的方法是否合理/可行?你有没有更好的方法来做到这一点?如果是这样,怎么样?

pythoncsv数据类型_python – 从CSV文件行中的值确定数据类型相关推荐

  1. pythoncsv数据类型_Python处理csv文件

    CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看.由于是纯文本,任何编辑器也都可打开.与Excel文件不同,CSV文件中: 值没有类型,所有值都是字符串 不 ...

  2. python为什么找不到csv文件_python读写csv文件的方法(还没试,先记录一下)

    该csv模块定义了以下功能: csv.reader(csvfile,dialect ='excel',** fmtparams) 返回一个reader对象,它将迭代给定csvfile中的行. csvf ...

  3. python中数据类型大小_详细解析Python中的变量的数据类型

    变量是只不过保留的内存位置用来存储值.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过分配不同的数据类型 ...

  4. python对csv去除重复行_Python 去重csv文件中相同的重复行

    读取CSV 读取CSV文件由两种方式: 第一种 import csvwith open('data.csv','r',encoding = 'utf8') as fp: reader = csv.re ...

  5. python中表头格式错误导入_python读csv文件时指定行为表头或无表头的方法

    pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置header参数(默认)时: df1 = pd.read_c ...

  6. python导入文件列行_python读写csv文件并增加行列的实例代码

    python读写csv文件并增加行列,具体代码如下所示: # -*- coding: utf-8 -*- """ Created on Thu Aug 17 11:28: ...

  7. python中写入csv文件的方法_Python写入CSV文件的方法

    python笔记5-python2写csv文件中文乱码问题 前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面 ...

  8. pythoncsv数据类型_pandas读取CSV文件时查看修改各列的数据类型格式

    下面给大家介绍下pandas读取CSV文件时查看修改各列的数据类型格式,具体内容如下所述: 我们在调bug的时候会经常查看.修改pandas列数据的数据类型,今天就总结一下: 1.查看: Numpy和 ...

  9. python中如何打开csv文件_Python对CSV文件的处理

    原标题:Python对CSV文件的处理 在接口自动化测试中,把测试的数据存储到csv的文件也是一种很不错的选择,下面就详细的介绍如何实现CSV文件内容的读取和如何把数据写入到CSV的文件中.在Pyth ...

最新文章

  1. 【PL/SQL】--导出oracle单表数据--drp204
  2. eclipse链接mysql数据池配置_Tomcat+mysql+eclipse数据库连接池配置
  3. branch prediction
  4. 【算法】算法测试题4:最长公共连续子串
  5. Spring Boot 2.0(七):Spring Boot 如何解决项目启动时初始化资源
  6. 自然语言处理库——Gensim之Word2vec
  7. 计算机网络是将地理知识,计算机网络的基础知识精选.ppt
  8. ado.net操作数据库
  9. 张景中:把数学变容易大有可为
  10. ShuffleNetV2论文译读笔记
  11. Android 图标上面添加提醒(一)使用Canvas绘制
  12. 给科研新手的论文写作指南
  13. 关于USGS 共享光谱库读取问题
  14. linux——20线程池
  15. 烤仔TVのCCW | 交易的生命周期
  16. 【软件技巧】Transmission跳过检验(跳检)方法,适用于全平台
  17. IDEA安装卸载插件
  18. 【linux】将Linux里的文件上传 到gitee仓库
  19. Policy-Based Method RL
  20. win10 matlab out of memory,Win10玩大型游戏的时候提示“out of memory”怎么办?

热门文章

  1. R语言-数据整形之简介
  2. 文字过多以省略号代替,放在文字上会显示title信息提示
  3. 转:采用geodatabase做乡界的一点总结
  4. 能玩游戏的计算机名字,没有手机和电脑时,孩子们最喜欢的游戏,简单却能玩上一整天!...
  5. Linux进程被视为文件,Linux下如何知道文件被那个进程写
  6. linux能秒创虚拟机吗,linux下5秒创建rhel7虚拟机
  7. seo从入门到精通_新手学习SEO一个月能学会吗?
  8. 新年到!充满年味的海报给你参考
  9. 游戏桌面壁纸|英雄联盟,热爱游戏的朋友看这里
  10. 多品类电商促销海报PSD分层模板,宠溺好物