【python3】 csv/txt/excel/pkl/json/html文件读写

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文件读取官网

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值