Python csv 兩種方法 實現 鹼基合併 pandas
阿新 • • 發佈:2019-01-13
方法一:(list,逐行合併,速度略慢)
import csv f = open("C:\\Users\\windows10\\Desktop\\Python練習\\文字流\\raw迴圈合併.csv") csv_reader = csv.reader(f,dialect='excel') # dialect='excel'為EXCEL編碼風格,否則無法讀取首行 li = [] #避免list,str等系統字眼 lis = [] for line in csv_reader: for i in range(0,len(line),2): s = line[i] + line[i + 1] #迭代合併鹼基 li.append(s) #不可用 li = li.append(s),因為None的列表append是沒有返回值的。 lis.append(li) print(lis)
方法二:(pandas,dataframe,列索引合併,速度快)
import pandas as pd import numpy as np from pandas import DataFrame as df path = "C:\\Users\\windows10\\Desktop\\Python練習\\文字流\\raw迴圈合併.csv" f = open(path) #檔名有中文時,必須加open步驟 data = pd.read_csv(f,header = None) # ============================================================================= # print(data) # print(type(data)) # print(data.iloc[:,0] + data.iloc[:,1]) # print(data.shape) # k = data.iloc[:,0] + data.iloc[:,1] # li = list(k) # li # # type(li) # ============================================================================= li = [] for i in range(0, 16, 2): s = data.iloc[:,i] + data.iloc[:,i + 1] s = list(s) li.append(s) print(li) li = df(li).T print(li)