3.2.4 Python读取CSV文件

CSV是一种通用的、相对简单的文件格式,在表格类型的数据中用途很广泛,很多关系型数据库都支持这种类型文件的导入导出,并且Excel这种常用的数据表格也能和CSV文件之间转换。
逗号分隔值(CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
我在D://test.csv文件里面随便添加内容
最简单直接的方法,是用 open()打开:
>>> with open("D://test.csv") as a:
for line in a:
print line

name,age,addr

zhangsan,18,beijing

lisi,24,shanghai

wangwu,22,nanjing
Python中还有一个 CSV的标准库,专门为csv文件准备:
>>> import csv
>>> reader = csv.reader (open("D://test.csv"))
>>> for line in reader:
print line

['name', 'age', 'addr']
['zhangsan', '18', 'beijing']
['lisi', '24', 'shanghai']
['wangwu', '22', 'nanjing']
Pandas也可以操作csv文件:
>>> import pandas as pd
>>> ma = pd.read_csv ("D://test.csv")
>>> ma
name age addr
0 zhangsan 18 beijing
1 lisi 24 shanghai
2 wangwu 22 nanjing
Pandas还可以这样:
>>> pd.read_table ("D://test.csv",sep=",")
name age addr
0 zhangsan 18 beijing
1 lisi 24 shanghai
2 wangwu 22 nanjing
Pandas用法还有很多可操作的:
>>> ma.index
RangeIndex(start=0, stop=3, step=1)
>>> ma.columns
Index([u'name', u'age', u'addr'], dtype='object')
>>> ma["name"][0]
'zhangsan'
>>> ma[:1]
name age addr
0 zhangsan 18 beijing
>>> ma[1:2]
name age addr
1 lisi 24 shanghai
>>> ma["name"]
0 zhangsan
1 lisi
2 wangwu
Name: name, dtype: object
查看 Pandas其他读取文件的方法:
>>> dir(pd)
['Categorical', 'CategoricalIndex', 'DataFrame', 'DateOffset', 'DatetimeIndex', 'ExcelFile', 'ExcelWriter', 'Expr', 'Float64Index', ...
虽然没有类似read_csv()的方法,但是有 ExcelFile类:
>>> xls = pd.ExcelFile("D://test.xlsx")
>>> xls.sheet_names
[u'python', u'Sheet1']
>>> sheetPython = xls.parse("python")
>>> sheetPython
name age addr
0 zhangsan 18 beijing
1 lisi 24 shanghai
2 wangwu 22 nanjing
不知道有什么内建函数:dir(xls)查看
可能会报错:
如果报:ImportError: No module named openpyxl 安装:pip install openpyxl
如果报:ImportError: Install xlrd >= 0.9.0 for Excel support 安装:pip install xlrd

猜你喜欢

转载自blog.csdn.net/u011418530/article/details/80162159