python 各类文件的读取操作

1、txt 文件的读取
txt是我们经常需要操作的文本类型,可以由如下方法操作:
1)read():读取整个文件
2)readline():读取一行数据
3)readline()分行读取全部的数据
代码实例:

user_password =open("user_password.txt","r")  #打开文件

file_lines = user_password.readlines()  #读取文件

user_password.close()#关闭


for line in file_lines:  #打印读取的文件

    print(line)

2、CSV文件读取
读取csv方法:导入csv模块>reader()读取>输出信息查看

import csv  #导入csv 包

user_file = csv.reader(open('user_password1.csv','r'))  #打开文档

#输出信息

for user_info in user_file:

    print(user_info)

3、Excel文件读取
1)引入xlrd 库
python 读取Excel文件,需要先安装xlrd 库,可以直接在命令行输入:pip install xlrd
2)编写读取Excel 文件函数

def get_excel_data(filename,sheetnum):

    path = 'login_data.xlsx'

    book_data = xlrd.open_workbook(path) #打开文档

    book_sheet=book_data.sheet_by_index(0) #打开Excel中第一个表

    rows_num = book_sheet.nrows  #sheet1 行数,row:行

    rows0 = book_sheet.row_values(0) #第一行的各个名称作为字典的键,列表

    rows0_num = len(rows0)   #第一行列表的长度即为数据的列数



    data_list = [ ]  #存放读取的数据

    for i in range(1,rows_num):

        rows_data = book_sheet.row_values(i) #取出每一行的值作为列表,列表的每一项为一个字典

        rows_dir ={ }

        for y in range(0,rows0_num):      #将每一列的值与每一行对应起来

            rows_dir[rows0[y]] = rows_data[y] #键值对应

        data_list.append(rows_dir)   #每个字典插入到列表中

    return data_list
可以使用pandas库读取csv文件,并使用matplotlib库绘制雷达图。具体步骤如下: 1. 导入所需库 ```python import pandas as pd import matplotlib.pyplot as plt from math import pi ``` 2. 读取csv文件 假设csv文件名为data.csv,其中包含多列数据,需要统计第二列(假设为'category')各类的总数。可以使用pandas库的read_csv函数读取csv文件,并使用value_counts函数统计各类的总数。 ```python df = pd.read_csv('data.csv') category_counts = df['category'].value_counts() ``` 3. 绘制雷达图 使用matplotlib库的pyplot子模块绘制雷达图。首先需要计算每个类别在总数中的占比。然后,定义雷达图的角度、类别数量、坐标轴范围、坐标轴标签等参数。最后,使用plot函数绘制雷达图。 ```python # 计算每个类别在总数中的占比 total = category_counts.sum() category_proportions = [count/total for count in category_counts] # 定义雷达图的角度、类别数量、坐标轴范围、坐标轴标签等参数 angles = [n/float(len(category_counts)) * 2 * pi for n in range(len(category_counts))] angles += angles[:1] ax = plt.subplot(111, polar=True) plt.xticks(angles[:-1], category_counts.index, color='grey', size=8) ax.set_rlabel_position(0) plt.yticks([0.25, 0.5, 0.75], ["0.25", "0.5", "0.75"], color="grey", size=7) plt.ylim(0, 1) # 使用plot函数绘制雷达图 ax.plot(angles, category_proportions, linewidth=1, linestyle='solid') ax.fill(angles, category_proportions, 'b', alpha=0.1) plt.show() ``` 这段代码会生成一个雷达图,其中每个顶点代表一个类别,每条边代表一种类别的占比。雷达图中心表示占比为0,最外围表示占比为1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值