Pandas操作CSV文件的读写实现方法

yipeiwu_com7年前Python基础

(1)、导库

import pandas as pd
from pandas import Series

(2)、读取csv文件的两种方式

#读取csv文件的两种方式
f = open('E:/建模/第5周/data/ex1.csv') #方法一
df = pd.read_csv(f)
print(df)
f.close

f = open('E:/建模/第5周/data/ex1.csv') #方法二,必须指定分隔符为',',否则会读取失败
df = pd.read_table(f,sep=',')
print(df)
f.close

(2)、根据需要条件读取csv文件

#根据需要条件读取csv文件
f = open('E:/建模/第5周/data/csv_mindex.csv') 
df = pd.read_csv(f,header=None)   #不需要表头
df = pd.read_csv(f,names=['a','b','c','d','message'])  #添加表头
df = pd.read_csv(f,names=['a','b','c','d','message'],index_col = 'message')  #指定某一列作为行索引
df = pd.read_csv(f,index_col = ['key1','key2'])  #指定多列作为行索引
print(df)
f.close

(3)、利用正则表达式读取不同含有不同分隔符的文件

#利用正则表达式读取不同含有不同分隔符的文件
f = open('E:/建模/第5周/data/ex3.txt') 
df = pd.read_table(f,sep='\s+')
print(df)

(4)、根据需要选择需要读的行

#根据需要选择需要读的行
f = open('E:/建模/第5周/data/ex4.csv') 
df = pd.read_table(f,sep=',',skiprows=[0,2,3]) #跳过不想读的行
print(df)

(5)、处理缺失值

#处理缺失值
f = open('E:/建模/第5周/data/ex5.csv') 
df = pd.read_table(f,sep=',',na_values='world') #如果数据中有'world',也会视为缺失值
print(df)

(6)、逐行读取文件

#逐行读取文件
f = open('E:/建模/第5周/data/ex6.csv') 
df = pd.read_table(f,sep=',',nrows=5) #只读取前面5行
print(df)

(7)、将dataframe数据写入csv文件

#将dataframe数据写入csv文件
f = open('E:/建模/第5周/data/ex5.csv') 
data = pd.read_csv(f)
data.to_csv('E:/建模/第5周/data/out.csv')  #将dataframe输出到csv文件中
data.to_csv('E:/建模/第5周/data/out.csv',na_rep='ok')  #将缺失值补上‘ok'
data.to_csv('E:/建模/第5周/data/out.csv',header=None)  #不设置表头
data.to_csv('E:/建模/第5周/data/out.csv',columns=['a','b'])  #写出指定的列

(8)、将csv文件读取位Series

#将csv文件读取位Series
f = open('E:/建模/第5周/data/tseries.csv') 
series = Series.from_csv(f,parse_dates=True)
print(series)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在漏洞利用Python代码真的很爽

不知道怎么忽然想看这个,呵呵 小我的python的反shell的代码 #!/usr/bin/python # Python Connect-back Bac...

python自动识别文本编码格式代码

我就废话不多说了,直接上代码吧! #!/usr/bin/python3 # -*- coding: utf-8 -*- import codecs import os import...

python计数排序和基数排序算法实例

一、计数排序 计数排序(Counting sort)是一种稳定的排序算法 算法的步骤如下:找出待排序的数组中最大和最小的元素统计数组中每个值为i的元素出现的次数,存入数组C的第i项对所有...

深入浅析Python2.x和3.x版本的主要区别

版本说明 Python 3.0在设计的时候没有考虑向较早版本相容 Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,...

Python使用gensim计算文档相似性

pre_file.py #-*-coding:utf-8-*- import MySQLdb import MySQLdb as mdb import os,sys,string i...