此篇将常用功能函数封装,供以后使用。
一、python将二维列表转置
def transpose(matrix):
new_matrix = []
for i in range(len(matrix[0])):
matrix1 = []
for j in range(len(matrix)):
matrix1.append(matrix[j][i])
new_matrix.append(matrix1)
return new_matrix
二、python读取xlsx文件
这里读取的df是pandas里的DataFrame格式数据
import pandas as pd
df = pd.read_excel("正数据矩阵.xlsx")
#df = df.T #python默认每行是一个样本,如果数据每列是一个样本的话,转置一下即可
三、python读取csv文件
import csv
csvFile = open("D:\Python\Ynew.csv","r")
reader = csv.reader(csvFile)
data = []
for item in reader:
data.append(item)
csvFile.close()
四、读取csv文件并按行存入列表
# -*- coding=utf-8 -*-
import csv
csv_file=open('D:/scores.csv') #打开csv文件
csv_reader_lines = csv.reader(csv_file) #逐行读取csv文件
date=[] #创建列表准备接收csv各行数据
number = 0
for one_line in csv_reader_lines:
date.append(one_line) #将读取的csv分行数据按行存入列表‘date’中
number = number + 1 #统计行数
四、python读取txt文件
filename = "test.txt"
drugs = [] # 数据列表
with open(filename) as file: #这里文件有三列数据
for line in file:
head =line.split()[0]
tail =line.split()[1]
w =line.split()[2] #如果节点使用数组表示的可以将str(x)改为int(x)
if head not in drugs:
drugs.append(head)
if tail not in drugs:
drugs.append(tail)
五、python将二维列表转化为Excel表
def output_excel(list1):# 二维列表转化成Excel表(new1.xls)
output = open('要保存的文件名.xls', 'w', encoding='gbk')
# output.write('name\tgender\tstatus\tage\n') 首先输出的第一行(表头)
for i in range(len(list1)):
for j in range(len(list1[i])):
output.write(str(list1[i][j])) # write函数不能写int类型的参数,所以使用str()转化
output.write('\t') # 相当于Tab一下,换一个单元格
output.write('\n') # 写完一行立马换行
output.close()
六、python将字典写入csv文件
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
for i,j in fangji.items(): # fangji是一个字典
j.insert(0,i)
ws.append(j)
wb.save("C:\\Users\\admin\Desktop\\文件名.xls")
七、判断字符串是否为汉字
if '\u4e00' <= ch <= '\u9fff':
# 当ch为汉字时要做的事
......
八、正常显示图中的指数坐标
# 正常显示指数
matplotlib.rcParams.update(
{
'text.usetex': False,
'font.family': 'stixgeneral',
'mathtext.fontset': 'stix',
})