python文件读取

pandas文件读取

我们的数据大部分存在于文件当中,所以pandas会支持负责的IO操作,pandas的API支持众多的文件格式,如CSV,SQL,XLS,JSON,HDF5

例如:

1. CSV

1.1 read_csv

pandas.read_csv(filepath_or_buffer,sep=',')

filepath_or_buffer:文件路径

import os  
os.getcwd() #获取当前工作路径 

usecols:指定读取的列名,列表形式 (data=pd.read_csv('path', usecols=['col1', 'col2']) )

1.2 to_csv

Dataframe.to_csv(path_or_buf=None, sep=',' , columns=None, header=True, index=True, mode='w', encoding= None)

dt.to_csv('Result.csv') #相对位置,保存在getwcd()获得的路径下  
dt.to_csv('C:/Users/think/Desktop/Result.csv') #绝对位置 
  • path_or_buf : 文件路径
  • sep :分隔符
  • columns :选择需要的列索引
  • header :boolean or list of string, default True, 是否写进索引值
  • index:是否写进索引
  • mode:'w'(重写), 'a'追加
    #read
    data=pd.read_csv('./wholedata.csv')
    data.head()
    
    #to_csv
    data.to_csv('./newdata',usecols=['col1','col2'],index=False)

1.3 python批量读取文件并合并文件

import pandas as pd
import os

cwd = os.getcwd()      #获取当前路径
read_path =  'path1'   #待读取批量csv的文件夹          
save_path =  'path2'   #待保存的合并后的csv的文件夹
save_name = 'new.csv'  #待保存的合并后的csv   


os.chdir(read_path)                 #修改当前工作目录
csv_name_list = os.listdir()        # 将该文件夹下的所有文件名存入列表
df = pd.read_csv( csv_name_list[0]) # 读取第一个CSV文件并包含表头,用于后续的csv文件拼接


# 读取第一个CSV文件并保存
df.to_csv( cwd + '/' + save_path + '/' + save_name,encoding="utf_8",index=False)     


# 循环遍历列表中各个CSV文件名,并完成文件拼接
for i in range(1,100):
    df = pd.read_csv( csv_name_list[i] )
    df.to_csv(cwd + '/' + save_path + '/' + save_name ,encoding="utf_8",index=False, header=False, mode='a+')


OS

# 获取文件夹路径下的所有文件名组成的列表
fileList = os.listdir(file_path) # ['test1.txt', 'test2.txt', 'test3.txt']
 
# 把fileName重命名为newName
os.rename(fileName, newName)
 
# 把file内容加到base_dir后面
os.path.join(base_dir, file)     # /path/files/ --> /path/files/test1.txt
 
# 删除文件
os.remove(file_path)
# 删除空文件夹
os.rmdir(files_path)
# 删除文件夹
shutil.rmtree(files_path)
 
# 复制文件
shutil.copy(file_path1, file_path2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值