python學習常用功能函數封裝


此篇將常用功能函數封裝,供以后使用。

一、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',
})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM