python3 pandas文件的读写
csv文件读写
csv读取
1. 数据中有索引列(时间类型),第一行为列名
import pandas as pd
## 方法一
## 在调用read_csv()方法时指定engine为Python,避免文件名含中文报错
volume=pd.read_csv('volume.csv',engine = 'python', parse_dates=True,index_col=0)
volume.head()
## 方法二
# 也可用read_table 默认分隔符‘\t’,也可以指定为其他分隔符
volumn = pd.read_table('volume.csv',engine = 'python', sep=',', parse_dates=True, index_col=0)
volumn.head()
2. 如果数据中第一行不是列名,则输入 header=None
# 第一行不是列名 需输入header=None
pd.read_csv(path+'ex2.csv',engine='python',header=None)
# 给每一列赋上对应的列名
pd.read_csv(path+'ex2.csv',engine='python',names=['a','b','c', 'd', 'message'])
# 假设将message列作为DataFrame的索引
names=['a','b','c', 'd', 'message']
pd.read_csv(path+'ex2.csv',engine='python',names=names,index_col='message')
3. 将多列做成一个层次化索引
# 将多个列做成一个层次化索引 只需要传入由列编号或列名组成的列表即可
pd.read_csv(path+'csv_mindex.csv',engine='python',index_col=['key1','key2'])
运行结果
4. skiprows跳过文件的某几行
# 看下数据
list(open(path+'ex4.csv'))
运行结果
# skiprows跳过文件的第一行、第三行和第四行
pd.read_csv(path+'ex4.csv',engine='python',skiprows=[0,2,3])
运行结果
### 写入csv
# 写入csv
# sep : 输出文件的字段分隔符,默认为 “,”
# index : 是否保存索引,默认为 True ,保存
# header : 是否保存列名,默认为 True ,保存
volume.to_csv('data2csv.csv',sep=',',index=False,header=False)
txt 文件读写
txt读取
# 看下数据
list(open(path+'ex3.txt'))
运行结果
import pandas as pd
# 读取txt
# # txt文件中各个字段之间由数量不等的空白符分隔,可以用正则表达式\s+表示
# # 由于列名比行的数量少,则read_table推断第一列应该是DataFrame的索引
result = pd.read_table('ex3.txt',engine='python',sep='\s+')
result
运行结果
写入txt
# 导出为txt文件
# 其中,index是否要索引,True就是需要,\t作为分隔符
data.to_csv('data2txt.txt', sep='\t', index=False)
excel 文件读写
# 读取excel文件
# sheet_name:excel中sheet的名字
data = pd.read_excel("data2excel.xlsx",sheet_name='data')
# 导出为excel文件
# sheet_name:excel中sheet的名字
# index : 是否保存索引,默认为 True ,保存
# header : 是否保存列名,默认为 True ,保存
data.to_excel('data2excel.xlsx',sheet_name='data',index=False,header=True)
# 如果需要同时写入多个sheet中,如下
data1=data.copy()
with pd.ExcelWriter('data2excel1.xlsx') as writer:
data.to_excel(writer, sheet_name='sheet_name_1')
data1.to_excel(writer, sheet_name='sheet_name_2')
写入excel不同sheet的运行结果
json 文件读写
# 读取json文件
data = pd.read_json("data.json")
# 保存为json文件
data.to_json("data2json.json")
html文件读写
# 读取html文件
data = pd.read_html("data.html")
print(data)
print(data[0])
# 保存为json文件
data.to_html("data2html.html")
读取html文件运行结果
pkl文件读写
import pandas as pd
# 读取pkl文件
yahoo_price =pd.read_pickle'yahoo_price.pkl')
yahoo_price.head()
# 将数据保存为pkl文件
yahoo_price.to_pickle('data2pkl.pkl')
参考链接
转换为csv格式链接转换为excel格式链接pandas文件读取官网