c++读取csv_Python数据读取——1

Python的CSV格式数据读取

0c9d710a6cec72642495a91cd0f4e36d.png

   CSV其文件以纯文本形式存储表格数据(数字和文本)。CSV文件的体积会更小,创建分发读取更加方便,适合存放结构化信息。CSV文件在windows平台默认的打开方式是excel,但是它的本质是一个文本文件。

Python代码

import pandas as pd

pd.read_csv(filepath_or_buffer,header,names,parse_dates,index_col)

filepath_or_buffer参数

这个字符串可以是URL,有效的URL方案包括http、ftp、s3和文件。其实就是文件存在的地方可以直接写入"文件名.csv"

斜杆方向问题

例如读取数据路径为:C:\desktop\小说.txt

1.利用正斜杠/

df=pd.read_csv('C:/desktop/小说.txt')

2.斜杆\加上r表示字符串不被转义

df=pd.read_csv(r'C:\desktop\小说.txt')

如果单独加路径,不加后面的参数,默认第一行header,如果csv不含header会误把第一行数据当作header

header参数的作用

指定第几行作为列名(忽略注解行),并从列名后一列开始为数据。如果没有指定的列名,默认header=0

中文问题

如果csv文件中含有中文,该如何?

df = pd.read_csv(csv_file, encoding="gbk")

parse_dates参数的作用

将csv中的时间字符串转换成日期格式

数据例子

"name","time","date"

'Bob',21:33:30,2019-10-10

'Jerry',21:30:15,2019-10-10

'Tom',21:25:30,2019-10-10

'Vince',21:20:10,2019-10-10

'Hank',21:40:15,2019-10-10 

parse_dates=[ ['time', 'date'] ]

       即将[ ['time', 'date'] ]两列的字符串先合并后解析,合并后的新列会以下划线'_'连接原列名命名,解析得到的日期格式会作为DataFrame的第一列,在index_col指定表格中的第几列作为Index时需要小心。如本例中,指定参数index_col=0,则此时会以新生成的time_date列而不是name作为Index。因此保险的方法是指定列名,如index_col = 'name':

结果:

            time_date     name

0 2019-10-10 21:33:30    'Bob'

1 2019-10-10 21:30:15  'Jerry'

2 2019-10-10 21:25:30    'Tom'

3 2019-10-10 21:20:10  'Vince'

4 2019-10-10 21:40:15   'Hank'

parse_dates=['time', 'date']

       分别对'time', 'date'进行字符串转日期,由于本例中的Time时间列格式为HH:MM:SS,parse_dates默认解析为Datetime格式,因此在解析time这一列时,会自作主张在前面加上一个当前日期。

结果:

       name                        time         date

0    'Bob' 2019-10-17 21:33:30   2019-10-10

1    'Jerry' 2019-10-17 21:30:15   2019-10-10

2    'Tom' 2019-10-17 21:25:30   2019-10-10

3   'Vince' 2019-10-17 21:20:10   2019-10-10

4   'Hank' 2019-10-17 21:40:15   2019-10-10

index_col参数作用

index_col为指定数据中那一列作为Dataframe的行索引,也可以可指定多列,形成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引,从0开始

-end-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值