#!/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)
python: 读写CSV文件及数据文件的处理
于 2023-03-19 17:31:42 首次发布