python读取dat文件写入表格_Python对CSV、Excel、txt、dat文件的处理

python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容)

1、读取

1.1基于python csv库

#3.读取csv至字典x,y

import csv

# 读取csv至字典

csvFile = open(r'G:\训练小样本.csv', "r")

reader = csv.reader(csvFile)

#print(reader)

# 建立空字典

result = {}

i=0

for item in reader:

if reader.line_num==1:

continue

result[i]=item

i=i+1

# 建立空字典

j=0

xx={}

yy={}

for i in list(range(29)):

xx[j]=result[i][1:-1]

yy[j]=result[i][-1]

# print(x[j])

# print(y[j])

j=j+1

csvFile.close()

##3.1字典转换成list

X=[]

Y=[]

for i in xx.values():

X.append(i)

for j in xx.values():

X.append(j)

改进的CSV读取,直接从CSV文件读取到 list:

#加载数据

def loadCSV(filename):

dataSet=[]

with open(filename,'r') as file:

csvReader=csv.reader(file)

for line in csvReader:

dataSet.append(line)

return dataSet

读取的方式,是一行一行读取。

1.2 pandas读取

import pandas as pd

test_df = pd.read_excel(r'G:\test_linearRegression.xlsx')

2、写入

import csv

#程序三

with open(r'G:\0pythonstudy\chengxu\test.csv','w',newline='') as myFile:

myWriter=csv.writer(myFile)

myWriter.writerow([7,'g'])

myWriter.writerow([8,'h'])

myList=[[1,2,3],[4,5,6]]

myWriter.writerows(myList)

# myFile.close()

with open(r'G:\0pythonstudy\chengxu\test.csv',"r") as data:

result=csv.reader(data)

for item in result:

print(item)

写入,如果纯用 open(r'G:\0pythonstudy\chengxu\test.csv','w'),就会出现多出一空行。

二、Excel文件处理

1、读取

方法一:

使用Python的 xlrd包。

#1、导入模块

import xlrd

#2、打开Excel文件读取数据

data = xlrd.open_workbook('test_data.xlsx')

# print('data',data)

#3、使用技巧

#获取一个工作表

table = data.sheets()[0] #通过索引顺序获取

# print('table',table)

print(table.nrows)#table 行数

print(table.ncols)

table = data.sheet_by_index(0) #通过索引顺序获取

# print('table',table)

table = data.sheet_by_name(u'Sheet1')#通过名称获取

# 获取整行和整列的值(数组)

i=1

print(table.row_values(i))#获得第i行数据

print(table.col_values(i))#获得第i列数据

运行结果:

9

2

[2.0, 6.0]

[5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0]

方法二:

或者,可以把Excel文件转换成csv格式文件,直接修改后缀名,好像会出错,还是建议另存为修改成csv文件。

方法三:

使用pandas包

import pandas as pd

test_df = pd.read_excel(r'G:\test.xlsx')

pandas 读取为dataframe格式,其中dataframe.values是nparray格式,nparray.tolist()是python list 格式。

注意:pandas和 xlrd的区别在于,pandas会把第一行和第一列作为索引的表头;xlrd则会把所有的数据都读取,没有索引表头一说。

三、dat文件处理

把.dat文件修改成.txt格式文件。

这里可以参考 python批量更改文件后缀名 一文。

四、txt文件处理

a = numpy.loadtxt('odom.txt')

a [[ 2.49870000e-01

2.50250000e-01

[ 3.64260000e+03

3.72430000e+03

[ 4.53960000e+03

4.50590000e+03

...,

[ 4.74110000e+01

4.89660000e+01

[ 4.10930000e+01

4.20480000e+01

[ 1.83510000e+01

1.68250000e+01

a.shape (52, 500)

fp = open('test.txt','r')

lines = fp.readlines()

fp.close()

for line in lines:

username = line.split(',')[0]

password = line.split(',')[1]

注:第一句是以只读方式打开文本文件;第二个是读取所有行的数据(read:读取整个文件;readline:读取一行数据);最后一定要关闭文件。最终会返回一个列表,通过for循环可以一个个的读取其中的数据。如username,password。这时候通过split方法进行分割,最终可以得到username password,这样就可以在自动化里面做参数化了。

python读取CSV文件

import csv

date =csv.reader(open('test.csv','r'))

for test in date:

print test

print test[0]

注:需要先导入csv包,然后通过reader方法读取内容,最终会返回一个列表。想选择某一列数据,只需要制定列表下标即可

python读取excel

需要先安装xlrd模块

账号

密码

备注

import xlrd

book=xlrd.open_workbook(data_dirs()+'/system.xlsx')

sheet=book.sheet_by_index(0)

print sheet.cell_value(0,2)

注:(0,2)表示第二行第三列的数据,也就是:备注

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值