1. 程式人生 > >Python csv 兩種方法 實現 鹼基合併 pandas

Python csv 兩種方法 實現 鹼基合併 pandas

方法一:(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)