此篇將常用功能函數封裝,供以后使用。
一、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',
})