先获取列数最多的那一行对应列数,填充进列名称中,按最大列数读取csv文件。接着把数值转float,最后删除nan值。
import numpy as np
import pandas as pd
csv_file = ''
with open(csv_file, 'r') as temp_f:
lines = temp_f.readlines()
for l in lines:
column_count = len(l.split(',')) + 1
largest_column_count = column_count if largest_column_count < column_count else largest_column_count
temp_f.close()
column_names = [i for i in range(0, largest_column_count)]
df = pd.read_csv(csv_file, header=None, delimiter=',', names=column_names)
now_line = df.iloc[0, 1:].values.astype(float)
now_line = now_line[np.logical_not(np.isnan(now_line))]