逗号分隔值(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. 好玩图像pil处理

    pil库的学习总结 #__author:'lwq'#date: 2018/11/15 from PIL import Image,ImageFilter,ImageDraw,ImageFont ### ...

  2. [IoC容器Unity]第二回:Lifetime Managers生命周期

    1.引言 Unity的生命周期是注册的类型对象的生命周期,而Unity默认情况下会自动帮我们维护好这些对象的生命周期,我们也可以显示配置对象的生命周期,Unity将按照配置自动管理,非常方便,下面就介 ...

  3. RFS常见问题

    一.DatabaseLibrary 库遇到的问题:1,连接mysql库,查询语句带有中文,报FAIL UnicodeEncodeError: 'latin-1' codec can't encode ...

  4. 剑指offer 14:链表中倒数第k个节点

    题目描述 输入一个链表,输出该链表中倒数第k个结点. /* public class ListNode { int val; ListNode next = null; ListNode(int va ...

  5. leetcode02大数相加

    惭愧惭愧,这道题居然卡了两天,犯了一堆错误,现在一一总结 错误 头一天我看给的测试用例误以为输入是数组,做了半天也无法输出链表的正确格式,后来把输入当成链表,才正确了 我没看到编辑器给了一套链表,自己 ...

  6. 垂直对齐:vertical-align:super属性

    <p style=”vertical-align:super;”>垂直对齐<span>上标</span></p> <p>元素默认为块级元素, ...

  7. C++_day7_继承

    #include <iostream> using namespace std; class Human{ public: Human(string const& name, in ...

  8. 设置IE浏览器跨域访问数据

    在开发中,经常会遇到多站点跨域访问后台服务获取数据的情况,解决方法有两种 自己写代理服务,访问代理服务,代理服务请求服务获取数据再返回: 设置浏览器可以跨域访问数据. 本文来讲如何设置IE浏览器跨域访 ...

  9. 【MIT-6.824】Lab 1: MapReduce

    Lab 1链接:https://pdos.csail.mit.edu/6.824/labs/lab-1.html Part I: Map/Reduce input and output Part I需 ...

  10. UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 30633: illegal multibyte sequence

    import urllib.request def load_baidu(): url = "https://www.baidu.com/" header = {"Use ...