赞
踩
# 读txt文件
def write_txt(file_name,content):
with open(file_name,'a') as f:
f.write(content)
def read_txt(file_name):
with open(file_name,'r') as f:
result=f.read().splitlines()#读取所有行,以列表形式返回,每行作为列表的一个成员,后面自动去掉\n
return result
# print(result)
if __name__ == '__main__':
write_txt('1.txt','aaaa')
print(read_txt('1.txt'))
# 读csv文件 import csv def wirte_csv(file_name,content): with open(file_name,'a',encoding='utf8') as f: obj=csv.writer(f) obj.writerow(content) def read_csv(file_name): result=[] with open(file_name,'r',encoding='utf8') as f: obj=csv.reader(f) for i in obj: result.append(i) return result if __name__ == '__main__': wirte_csv('2.csv',['333','sb','s']) print(read_csv('2.csv')) print(read_csv('2.csv')[1][1])
# csv文件创建: # 1、创建一个excel表,录入数据 # 2、将excel表另存为UTF-8格式的带逗号分割符的csv文件 # 3、用notepad++超级记事本文件将csv文件转码为utf-8 # 如何读取csv文件数据: # with open(r"C:\Users\ming\Desktop\data_excel.csv","r",encoding="utf-8") as f: # data= csv.reader(f) import csv with open("C:\\Users\\ming\\Desktop\\data_excel.csv","r",encoding='utf-8') as f: data= csv.reader(f) # print(data) # 从data中获取每行数据,其实是一个列表 for d in data: print(d[2])
""" csv 文件写入数据 1、新建Excel文件,写入测试数据(根据测试用例中分离处理数据部分,有几个 2、将文件另存为utf逗号分割符csv 3、将csv转码为ytf-8格式 4文件路径问题 ./ 相当于。。。。。text目标/ 获取当前文件的目录: os.path.dirname(__file__) # 当前文件的上级目录 path2 =os.path.dirname(os.path.dirname(__file__)) """ import csv import os # E:/python code/jiekou/text/data_csv.csv path1 =os.path.dirname(__file__)+r"/data_csv.csv" print(path1) # 当前文件的上级目录 # E:/python code/jiekou path2 =os.path.dirname(os.path.dirname(__file__)) print(path2) # with open(r"","r",encoding="utf-8") as f: # data =csv.reader(f) # for d in data: # print(d)
""" 如果想在python中处理excel文件 xlrd模块使用: 1、安装xlrd模块 2、导包 3、使用xlrd打开Excel文件 4、读取其中某一个sheet页数据,索引号从0开始 5、获取当前sheet页某一行/列数据:row_values(0)/col_values(0) 6、获取行数或者列数,辅助遍历:nrows、ncols 7、使用for循环遍历每一个单元格数据 for i in range(nrow): # print(table.row_values(i)) print(table.row_values(i)[1]) """ import xlrd import pandas as pd data = xlrd.open_workbook(r"C:\Users\ming\Desktop\data_excel.xlsx") # 获取索引为0的一个sheet页,也就是sheet1 # table = data.sheet_by_name("Sheet1") table =data.sheets()[0] # print(table.row_values(0)) # 行数 nrow = table.nrows # 列数 ncol = table.ncols # print(nrow) for i in range(nrow): # 打印所有行 # print(table.row_values(i)) # 每行第二个值 # print(table.row_values(i)[1]) # 第i行第四列的值 # print(sheet_data.cell(i, 3).value) # print(table.col_values(i)) pass # # df =pd.read_excel(r"C:\Users\ming\Desktop\data_excel.xlsx") # print(df.head())
封装成类读取Excel文件
import xlrd class operateexcel(): def __init__(self,file_path = None): if file_path == None: self.file_path = r"C:\Users\ming\Desktop\1.xlsx" else: self.file_path = file_path self.excel = self.get_excel() self.nrows = self.get_lines() def get_excel(self): tables = xlrd.open_workbook(self.file_path) return tables def get_sheet(self, i =None): """ 获取index获取sheet内容 """ if i == None: i = 1 sheet_data = self.excel.sheet_by_name("Sheet"+str(i)) return sheet_data def get_lines(self): """ 获取行数 """ lines = self.get_sheet().nrows return lines def get_cell(self, row , col): """ 获取单元格内容 """ data = self.get_sheet().cell(row , col).value return data if __name__ == '__main__': print(operateexcel().get_cell(1,0))
要了解文件读写模式,需要了解几种模式的区别,以及对应指针
r : 读取文件,若文件不存在则会报错
w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件
a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
rb,wb: 分别于r,w类似,但是用于读写二进制文件
r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖
w+ : 可读,可写,文件不存在先创建,会覆盖
a+ : 可读、可写,文件不存在先创建,不会覆盖,追加在末尾
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。