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)表示第二行第三列的数据,也就是:备注
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。