psv文件转换为csv文件

最近在获取physionet.org网站的数据时,发现是psv文件存储的,虽然网站提供了基于os.argv数据流形式的处理方式,但是由于tensorflow的环境太难配置了,懒得配,所以写了个代码,进行psv文件转csv文件的操作。

import pandas as pd
import numpy as np
import os

#读取psv文件
def read_psv(path):
    Coursedata=[]
    Coursedataform=[]
    dic={}
    with open(path, 'r', newline="") as psvfile:
        for line in psvfile.readlines():
            Coursedata.append(line[0:len(line)-1])#去掉最后的换行符
    for i in Coursedata:
        Coursedataform.append(i.split("|"))#psv文件使用|符号分割数据
    
    return Coursedataform  
        
    
#psv转csv文件
def psv_to_csv(psv_data):
    temp_df = pd.DataFrame(columns = psv_data[0])  #构建dataframe
    temp_array = np.array(psv_data[1:]).T        #数据转置
    
    
    for i in range(len(psv_data[0])):
        temp_df[psv_data[0][i]] = temp_array[i]
        
    return temp_df
        

psv_path = r'psv所在的文件目录地址'
psv_files = os.listdir(psv_path) #得到文件夹下的所有文件名称


if 1 - os.path.exists(psv_path + '\\转成csv文件'):
    os.mkdir(psv_path + '\\转成csv文件')

for file in psv_files:
    if 'psv' in file:
        try:
            psv_data = read_psv(psv_path + '\\' + file)
            csv_data = psv_to_csv(psv_data)
            csv_data.to_csv(psv_path + '\\转成csv文件\\' + file.split('.')[0] + '.csv')
            
        except:
            print('转换失败的文件', file)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值