python: 读写CSV文件及数据文件的处理

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import pandas as pd
import numpy as np
#pandas 直接读入csv文件
myFile  = pd.read_csv("./csvTestData.csv", sep = ',',encoding='utf-8')
myarayFile = np.array(myFile)
print(myarayFile)
print(type(myarayFile))


#csv 包来读写文件
import csv
with open("./csvTestData.csv",mode ='r') as myfile:
    reader = csv.reader(myfile)
    rows = []
    for row in reader:
        rows.append(row)
    print(rows)
    #print(type(reader)) #<class '_csv.reader'>
    #等同于
    # myrow = [x for x in reader]
    # print(myrow)

#从固定行开始读入
with open("./csvTestData.csv", mode ='r' ) as myfile:
    reader1 = csv.reader(myfile)
    # enumerate 遍历所有元素,将每行赋予index0,1,...
    myrows = [x for i,x in enumerate(reader1) if i>=1] #从第二行开始读入
    print(myrows)
    print(np.array(myrows,dtype=np.float))#转成数组形式

#文件写入
with open("./csvTestDataWrite.csv", mode ='w' ) as myfile3: #a表示追加,w写
    mywrite = csv.writer(myfile3)
    fileHeader = ["name", "score"]
    d1 = ["Wang", "100"]
    d2 = ["Li", "80"]
    mywrite.writerows([fileHeader,d1,d2])#每个元素代表需要写入的每行数据,一次性写入多行

with open("./lowbwt.dat", mode ='r' ) as myfile4:
    reader1 = csv.reader(myfile4)
    # enumerate 遍历所有元素,将每行赋予index0,1,...
    #myrows4 = [x for i,x in enumerate(reader1) if (i>5 and len(x)>1) ] #从第5行开始读入
    mylist = []
    for i, x in enumerate(reader1):
        if (i>5 and len(x)>=1):
            for w in x:
                str1 = ' '.join(w.split()) #按照空格划分为list,各个元素为字符串'',再用空格链接为字符串
            str_list = str1.split(' ')# 用空格讲字符串分开
            at= []
            for i in str_list:
                at.append(int(i))
            mylist.append(at)
    data1 = np.array(mylist)
    print(data1)

with open("./lowbwt.dat", mode='r') as myfile4:
    reader1 = csv.reader(myfile4)
    # enumerate 遍历所有元素,将每行赋予index0,1,...
    # myrows4 = [x for i,x in enumerate(reader1) if (i>5 and len(x)>1) ] #从第5行开始读入
    mylist1 = []
    for i, x in enumerate(reader1):
        if (i > 5 and len(x) >= 1):
            for w in x:
                str1 = ' '.join(w.split())  #
            str_list = str1.split(' ')
            mylist1.append(str_list)
    data = np.array(mylist1,dtype=np.uint)
    print(data)

    a = ['1','2']#list
    b = '+'.join(a) #b为字符串
    c = b.split('+') #list
    print(a,b,type(b)) #<class 'str'>
    x = [int(i) for i in c]
    print(c,type(c))# list
    print(x)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值