且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

csv 文件的读取与存储| 学习笔记

更新时间:2022-09-07 23:22:56

开发者学堂课程【Python 数据分析库 Pandas 快速入门csv 文件的读取与存储学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/607/detail/8856


csv 文件的读取与存储


内容介绍

一、学习目标

二、CSV


一、学习目标

1.目标

了解 Pandas 的几种文件读取存储操作

应用 CSV 方式和 HDF 方式实现文件的读取和存储。

2.应用

实现股票数据的读取存储

数据大部分存在于文件当中,所以 pandas 会支持复杂的 IO 操作,pandas 的 API 支持众多的文件格式,如 CSV、SQL、XLS、JSON、HDF5。

最常用的 HDF5 和 CSV 文件


二、CSV

1.读取 csv 文件-read_csv()

pandas.read_csv(filepath_or_buffer, sep =',', delimiter = None)

filepath_or_buffer:文件路径

usecols:指定读取的列名,列表形式

读取之前的股票的数据

#读取文件并且指定只获取'open',‘high‘,’close‘指标

data pd.read_csv("./stock day/stock_day.csv", usecols=['open',‘high', 'close‘]

open high close

2018-02-27 20.53 25.88 24.16

2018-02-26 22.00 23.78 23.53

2018-02-23 22.88 23.37 22.82

2018-02-22 22.25 22,76 22.28

2018-02-14 21.49 21.99 21.92

字段:

["open", "high", "close", "low", "volume", "price_change", "p_change", "ma5", “ma10”, “ma20”, “v_ma5”,”v_ma10”, “v_ma20”, “turnover”]

2.写入 csv 文件-to_csv()

1)DataFrame.to_csv (path_or_buf=None, sep=', ', columns=None, header=True, index=True, index_Jabel=None, mode='w', encoding=None)

path_or_buf :string or file handle, default None

sep :character, default .

columns :sequence, optional

mode:'w':重写,'a'追加

index:是否写进行索引

header :boolean or list of string, default True,是否写进列索引值

2)Series.to_csv (path=None, index=True, sep=',', na_rep=", float_format=None,header=False,index_Jabel=None, mode='w',encoding=None,compression=None, date_format=None, decima/='.)

Write Series to a comma-separated values (csv) file

3)案例

保存‘open'列的数据

#选取10行数据保存,便于观察数据

data[1:10].to_csv("./test.csv", columns=['open’])

读取、查看结果

pd.read_csv("./test.csv")

Unnamed:0  open

2018-02-27 23.53

2018-02-26 22.80

2018-02-23 22.88

2018-02-22 22.25

2018-02-14 21.49

2018-02-13 21.40

2018-02-12 20.70

2018-02-09 21.20

2018-02-08 21.79

2018-02-07 22.69

会发现将索引存入到文件当中,变成单独的一列数据。如果需要删除,可以指定 index 参数,删除原来的文件,重新保存一次。

# index:存储不会讲索引值变成一列数据

stock day[:10].to_csv("./test.csy", columns=['open'], index=False)

指定追加方式

stock_day[:10].to_csv("./test.csv", columns=['open'1, index=False, mode='a’)

open

0 23.53

9 22.69

10 open

11 23.53  

20 22.69

又存进了一个列名,所以当以追加方式添加数据的时候,一定要去掉列名columns,指定 header=False

stock_day[:10].to_csv("./test.csv", columns=['open'], index=False, mode='a')

open

0 23.53

7 21.20

8 21.79

9 22.69

10 23.53

11 22.80

12 22.88

13 22.25

19 22.69