逗号分隔值(Comma-Separated Values,CSV)

1 csv数据

还有一种数据类型,叫制表分隔值(tab-separated values,TSV)数据,有时与CSV归为一类。

若文件扩展名是.tsv,则文件很可能是TSV数据

若文件扩展名是.csv,则既可能是TSV,又可能是CSV

导入CSV数据

import csv
csvFile = open('600050.csv','r') #'r'只读
read = csv.reader(csvFile) for row in read:
print(row)

得到一组列表(csv.reader)形式的数据,这是一组股票数据。

['Date', 'Open', 'High', 'Low', 'Close', 'Adj Close', 'Volume']
['2017-10-09', '7.510000', '7.530000', '7.260000', '7.290000', '7.290000', '']
['2017-10-10', '7.270000', '7.320000', '7.150000', '7.200000', '7.200000', '']
['2017-10-11', '7.180000', '7.200000', '7.080000', '7.150000', '7.150000', '']
['2017-10-12', '7.190000', '7.410000', '7.140000', '7.320000', '7.320000', '']
['2017-10-13', '7.270000', '7.300000', '7.220000', '7.250000', '7.250000', '']
['2017-10-16', '7.280000', '7.380000', '7.200000', '7.210000', '7.210000', '']
['2017-10-17', '7.180000', '7.240000', '7.150000', '7.210000', '7.210000', '']
['2017-10-18', '7.210000', '7.260000', '7.130000', '7.160000', '7.160000', '']
['2017-10-19', '7.150000', '7.150000', '6.920000', '6.920000', '6.920000', '']
['2017-10-20', '6.970000', '7.030000', '6.950000', '6.990000', '6.990000', '']
['2017-10-23', '6.980000', '7.150000', '6.980000', '7.120000', '7.120000', '']
['2017-10-24', '7.100000', '7.110000', '7.010000', '7.060000', '7.060000', '']
['2017-10-25', '7.060000', '7.150000', '7.020000', '7.080000', '7.080000', '']
['2017-10-26', '7.060000', '7.150000', '7.050000', '7.130000', '7.130000', '']
['2017-10-27', '7.200000', '7.520000', '7.200000', '7.350000', '7.350000', '']
['2017-10-30', '7.350000', '7.650000', '7.250000', '7.650000', '7.650000', '']
['2017-10-31', '7.600000', '7.680000', '7.510000', '7.640000', '7.640000', '']

还可以得到字典形式的数据(csv.DictReader)

import csv
csvFile = open('600050.csv','r') #'r'只读
read = csv.DictReader(csvFile) for row in read:
print(row)

得到:

{'High': '7.530000', 'Adj Close': '7.290000', 'Close': '7.290000', 'Low': '7.260000', 'Open': '7.510000', 'Date': '2017-10-09', 'Volume': ''}
{'High': '7.320000', 'Adj Close': '7.200000', 'Close': '7.200000', 'Low': '7.150000', 'Open': '7.270000', 'Date': '2017-10-10', 'Volume': ''}
{'High': '7.200000', 'Adj Close': '7.150000', 'Close': '7.150000', 'Low': '7.080000', 'Open': '7.180000', 'Date': '2017-10-11', 'Volume': ''}
{'High': '7.410000', 'Adj Close': '7.320000', 'Close': '7.320000', 'Low': '7.140000', 'Open': '7.190000', 'Date': '2017-10-12', 'Volume': ''}
{'High': '7.300000', 'Adj Close': '7.250000', 'Close': '7.250000', 'Low': '7.220000', 'Open': '7.270000', 'Date': '2017-10-13', 'Volume': ''}
{'High': '7.380000', 'Adj Close': '7.210000', 'Close': '7.210000', 'Low': '7.200000', 'Open': '7.280000', 'Date': '2017-10-16', 'Volume': ''}
{'High': '7.240000', 'Adj Close': '7.210000', 'Close': '7.210000', 'Low': '7.150000', 'Open': '7.180000', 'Date': '2017-10-17', 'Volume': ''}
{'High': '7.260000', 'Adj Close': '7.160000', 'Close': '7.160000', 'Low': '7.130000', 'Open': '7.210000', 'Date': '2017-10-18', 'Volume': ''}
{'High': '7.150000', 'Adj Close': '6.920000', 'Close': '6.920000', 'Low': '6.920000', 'Open': '7.150000', 'Date': '2017-10-19', 'Volume': ''}
{'High': '7.030000', 'Adj Close': '6.990000', 'Close': '6.990000', 'Low': '6.950000', 'Open': '6.970000', 'Date': '2017-10-20', 'Volume': ''}
{'High': '7.150000', 'Adj Close': '7.120000', 'Close': '7.120000', 'Low': '6.980000', 'Open': '6.980000', 'Date': '2017-10-23', 'Volume': ''}
{'High': '7.110000', 'Adj Close': '7.060000', 'Close': '7.060000', 'Low': '7.010000', 'Open': '7.100000', 'Date': '2017-10-24', 'Volume': ''}
{'High': '7.150000', 'Adj Close': '7.080000', 'Close': '7.080000', 'Low': '7.020000', 'Open': '7.060000', 'Date': '2017-10-25', 'Volume': ''}
{'High': '7.150000', 'Adj Close': '7.130000', 'Close': '7.130000', 'Low': '7.050000', 'Open': '7.060000', 'Date': '2017-10-26', 'Volume': ''}
{'High': '7.520000', 'Adj Close': '7.350000', 'Close': '7.350000', 'Low': '7.200000', 'Open': '7.200000', 'Date': '2017-10-27', 'Volume': ''}
{'High': '7.650000', 'Adj Close': '7.650000', 'Close': '7.650000', 'Low': '7.250000', 'Open': '7.350000', 'Date': '2017-10-30', 'Volume': ''}
{'High': '7.680000', 'Adj Close': '7.640000', 'Close': '7.640000', 'Low': '7.510000', 'Open': '7.600000', 'Date': '2017-10-31', 'Volume': ''}

python机器可读数据-csv的更多相关文章

  1. Python开发一个csv比较功能相关知识点汇总及demo

    Python 2.7 csv.reader(csvfile, dialect='excel', **fmtparams)的一个坑:csvfile被csv.reader生成的iterator,在遍历每二 ...

  2. Python: 对CSV文件读写 和 Md5加密

    1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...

  3. python之模块csv之CSV文件一次写入多行

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件一次写入多行 import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很多程序 ...

  4. python之模块csv之CSV文件的写入(基本结构)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件的写入(基本结构) import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很 ...

  5. python之模块csv之CSV文件的写入(按行写入)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件的写入(按行写入) import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很 ...

  6. python在处理CSV文件时,字符串和列表写入的区别

    概述 Python在处理CSV文件时,如果writerow的对象是<type 'unicode'>字符串时,写入到CSV文件时将会出现一个字符占一个单元格的情况: 但是将字符串转换为列表类 ...

  7. Python中关于csv的简单操作

    Python中关于csv的简单操作 CSV操作简单,直接import csv即可, 主要使用reader和pandas 1 reader的简单使用 csv.reader("1.csv&quo ...

  8. python中操作csv文件

    python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...

  9. Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

随机推荐

  1. mongodb常用的sql语句总结

    本文为博主原创,转载请注明出处: 1 .  查询所有 db.getCollection('CollectionName').find() 2.根据条件查询 db.getCollection('Coll ...

  2. 20165306 Exp4 恶意代码分析

    Exp4 恶意代码分析 一.实践概述 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生 ...

  3. Oracle 创建,查询,删除 job

    一 . 创建job 1. 通过创建存储过程的方式创建job 调用该存储过程使其开始执行  call PRO_DSJ_XJTJ_JOB(); create or replace procedure PR ...

  4. 杂记-python

    1.在cmd输入python -V显示当前python的版本信息,一定是大写的V 2.输入python,进入python解释器里面 3.在解释器中,输入exit()或者quit()会退出,一定要加括号 ...

  5. JavaScript如何生成思维导图(mindmap)

    JavaScript如何生成思维导图(mindmap) 一.总结 一句话总结:可以直接用gojs gojs 二.一个用JavaScript生成思维导图(mindmap)的github repo(转) ...

  6. [Shiro] tutorial 1 :SecurityManager and Subject

    SecurityManager是Shiro的绝对核心,不同于java.lang.SecurityManager,每个应用程序都要有一个SecurityManager. 所以我们第一件事就是配置一个Se ...

  7. RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser

    Selenium出来已经有很多年了,从最初的Selenium1到后来的Selenium2,也变得越来越成熟,而且也已经被很多公司广泛使用.Selenium发展的过程中,分了很多模块,这里我们主要介绍W ...

  8. introduce explaining variable 引入解释变量

    一段复杂的计算的表达式(一般 逻辑判断  if(a!=1 && b!=Null && a>b  ) && .... 直接在代码中参与到 代码的逻辑 ...

  9. 亚马逊VE账号运营

    VE劲爆内幕大揭秘!“仿牌+Amazon VE”跟卖之路 Amazon Vendor Express 是Amazon.com2015年下旬推出的新的供应商平台,商家通过这个平台可以把产品卖给Amazo ...

  10. spring-boot log

    最近也在研究项目