当前位置:   article > 正文

python读写txt文件、CSV文件、Excel文件_自行创建txt、csv、excel文件并输入样本数据,使用python读取三种文件

自行创建txt、csv、excel文件并输入样本数据,使用python读取三种文件

读txt文件

# 读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'))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

读csv文件

# 读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])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
# 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])

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
"""
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)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

读Excel文件

"""
如果想在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())




  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

封装成类读取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))



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

读写模式

要了解文件读写模式,需要了解几种模式的区别,以及对应指针

r : 读取文件,若文件不存在则会报错

w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件

a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾

rb,wb: 分别于r,w类似,但是用于读写二进制文件

r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖

w+ : 可读,可写,文件不存在先创建,会覆盖

a+ : 可读、可写,文件不存在先创建,不会覆盖,追加在末尾

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/596053
推荐阅读
相关标签
  

闽ICP备14008679号