Pandas 数据加载、存储与文件格式: read_csv

Pandas 数据加载、存储与文件格式: read_csv

摘自《利用Python进行数据分析2版》

  • 读取文本文件和其他更高效的磁盘存储格式,
  • 加载数据库中的数据,
  • 利用Web API操作网络资源。

6.1 读写文本格式的数据

pandas提供了一些用于将表格型数据读取为DataFrame对象的函数。

面对不同的参数,感到头痛很正常(read_csv有超过50 个参数)。pandas文档有这些参数的例子,如果你感到阅读某个文件很难,可以通 过相似的足够多的例子找到正确的参数。


插入知识:

 %的使用。

  •    %+ unix cell命令,可以在jupyter上运行Unix命令。
  •    %lsmagic 列出常用的所有魔法命令。

 ❗️的使用,和%类似,运行各种命令。


 

通过例子来分析read_*系列的参数的用法

使用Unix cell命令, 运行一个csv文件:

In [8]: !cat examples/ex1.csv
a,b,c,d,message
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
df = pd.read_csv('ex1.csv')

#     a    b    c    d    message
#0    1    2    3    4    hello
#1    5    6    7    8    world
#2    9    10    11    12    foo

默认第一行为header,参数是header='infer',但如果文件没有header:

  • 需使用names参数指定。
  • 或者修改header=None, 这会自动增加一行递增的整数列名。

参数index_col: 把列设置为index。

pd.read_csv('ex1.csv', index_col='message')

参数index_col:还可以设置MultiIndex。多重索引, index_col  :  array_like

参数sep:  设置分隔符号,可以使用正则表达式。

  • pandas的re包(正则表达式)\s 代表空格,包括 \t\n\r\f\v。
  • 所以sep="\s+",就代表1个以上的空格作为分隔符号。

参数skiprows : list-like, int, callable

  • 根据行号,忽略掉一些行

参数nrows : int

  • 读取部分行,一般用于大文件,分块读取行。

⚠️参数na_values: scalar, str, list, dict,用于处理缺失值。

  1. 默认:如果发现值是'', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan'等等,则解析为NaN。
  2. 可以指定某些values,转换为NaN.
#values中的1,2,3被转换为NaN
pd.read_csv('ex5.csv', na_values=[1,2,3])

逐块读取文本文件

#设置jupyter中每个cell执行后显示的行数
pd.options.display.max_rows = 60

使用参数:chunksize : int

  • 会返回一个可迭代的对象。pandas.io.parsers.TextParser 
  • 然后对这个对象进行for循环,处理其中的数据。

将数据写出到文本格式

方法:to_csv

后面的章节未阅读。

处理分隔符格式 197页

6.1JSON数据

XML和HTML:Web信息收集

6.2 二进制数据格式

读取Microsoft Excel文件

6.3 Web APIs交互

6.4 数据库交互

猜你喜欢

转载自www.cnblogs.com/chentianwei/p/12321131.html