python pandas如何读取csv文件以及txt文件

在这里插入图片描述
从本质上讲,csv是一种纯文本格式。如果只是查看csv文件可以用office打开,但是通常来讲,csv文件应该使用无格式记事本打开,这样可以更清楚的看到csv文件的内部格式。推荐使用Notepad ++打开:
在这里插入图片描述
如上图所示,是使用Notepad++打开的一个标准的csv文件。上述可见其文件分隔符是“,”。

# 此为最简单的读法,直接指名路径即可。其他参数采用默认
# 参数即可
>>> df = pd.read_csv(r'D:/myExcel/ratings.csv')
>>> df
        userId  movieId  rating   timestamp
0            1        1     4.0   964982703
1            1        3     4.0   964981247
2            1        6     4.0   964982224
3            1       47     5.0   964983815
4            1       50     5.0   964982931
...        ...      ...     ...         ...
100831     610   166534     4.0  1493848402
100832     610   168248     5.0  1493850091
100833     610   168250     5.0  1494273047
100834     610   168252     5.0  1493846352
100835     610   170875     3.0  1493846415

[100836 rows x 4 columns]
>>> df.dtypes
userId         int64
movieId        int64
rating       float64
timestamp      int64
dtype: object

读取csv文件与excel文件的最大区别在于sep参数的使用,本意指的是分隔符,默认是“,”。如果你的csv文件不是“,”分割,而是使用其他分隔符分割,此时必须指定sep参数,否则会出现你不想要的结果。
在这里插入图片描述
有如上csv文件,其是使用数量不等的空格做的分隔符,此时,如果按照正常的逻辑读取,便会出现问题

# 把abc三列按照一列进行了读取
>>> df = pd.read_csv(r'D:/myExcel/1.csv')
>>> df
         a   b       c
0   9001 00010001 9000
1  2932 82992938   373
2  37322  83282   3222
>>> df.dtypes
a   b       c    object
dtype: object
>>> df.columns
Index(['a   b       c'], dtype='object')


# 如下指定sep参数,\s+ 是正则表达式,表示至少一个空格
# 已经成功读取
>>> df = pd.read_csv(r'D:/myExcel/1.csv', sep='\s+')
>>> df
       a         b     c
0   9001     10001  9000
1   2932  82992938   373
2  37322     83282  3222
>>> df.columns
Index(['a', 'b', 'c'], dtype='object')
>>> df.dtypes
a    int64
b    int64
c    int64
dtype: object

其余的入参和read_excel函数并没有什么区别,详细的可以查看我之前的文章。下面举出几个常用的示例:

# 将所有类型按照字符串进行读取
>>> df = pd.read_csv(r'D:/myExcel/1.csv', sep='\s+', dtype='str')
>>> df
       a         b     c
0   9001  00010001  9000
1   2932  82992938   373
2  37322     83282  3222
>>> df.dtypes
a    object
b    object
c    object
dtype: object

# 仅读取指定的两列
>>> df = pd.read_csv(r'D:/myExcel/1.csv', sep='\s+', dtype='str', usecols=['a', 'b'])
>>> df
       a         b
0   9001  00010001
1   2932  82992938
2  37322     83282

以上就是python小工具关于pandas如何读取csv,txt文件。哈哈,有兴趣了欢迎关注python小工具,一起学习python和pandas
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值