062、数据的读写
本文最后更新于 68 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

数据的读写

Pandas模块能够读写很多格式的数据,如CSV、EXCEL、SQL、JSON、HTML,SAS,PICKLE等。在Pandas中,文件通常使用类似pd.read_xxx()形式的函数进行读取,并使用类似.to_xxx()形式的方法进行写入。

例如:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(3, 5),
                  index=list("abc"),
                  columns=list("ABCDE"))
df
A B C D E
a -0.020062 -0.599706 0.277161 0.080379 -0.646617
b 1.438798 -1.000701 0.091833 -0.112943 0.860176
c -0.171525 1.093374 0.501429 -1.123508 -0.930662

可以使用.to_csv()方法将它保存为CSV文件:

df.to_csv("foo.csv")

CSV文件可以用pd.read_csv()函数读取:

pd.read_csv("foo.csv")
Unnamed: 0 A B C D E
0 a -0.020062 -0.599706 0.277161 0.080379 -0.646617
1 b 1.438798 -1.000701 0.091833 -0.112943 0.860176
2 c -0.171525 1.093374 0.501429 -1.123508 -0.930662

与原来的DataFrame对象相比,读取到的对象多了Unnamed:0的列,它是原来DataFrame对象的行标记。在保存的时候,Pandas默认会保存行标记和列标记的值;在读取时,Pandas并不知道这一列是行标记,所以会将其当做普通的数据列读取出来。

为了解决这个问题,可以在读取时,使用参数index_col指定行标记所在的列:

pd.read_csv("foo.csv", index_col=0)
A B C D E
a -0.020062 -0.599706 0.277161 0.080379 -0.646617
b 1.438798 -1.000701 0.091833 -0.112943 0.860176
c -0.171525 1.093374 0.501429 -1.123508 -0.930662

也可以在保存的时候,忽略行标记:

df.to_csv("foo.csv", index=False)
pd.read_csv("foo.csv")
A B C D E
0 -0.020062 -0.599706 0.277161 0.080379 -0.646617
1 1.438798 -1.000701 0.091833 -0.112943 0.860176
2 -0.171525 1.093374 0.501429 -1.123508 -0.930662

其它类型文件的读写方法类似,在具体参数上可能会有一些不同,常用的方法有:

  • pandas.read_csv()函数,.to_csv()方法:CSV格式,逗号分割的文本格式。
  • pandas.read_json()函数,.to_json()方法:JSON格式。
  • pandas.read_html()函数,.to_html()方法:HTML网页上的表格。
  • pandas.read_excel()函数,.to_excel()方法:EXCEL格式的表格。

值得注意的是,读写EXCEL时,需要调用一些额外的模块,如xlrd、xlwt、openpyxl等,如果系统没有按照这些模块,需要额外通过pip或者conda安装。

%rm foo.csv
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇