python:txt格式转csv格式及对csv文件固定列的读取
程序员文章站
2022-05-28 15:17:40
...
**
python:txt格式转csv格式及对csv文件固定列的读取
**
txt格式转csv格式
方法一:代码转换(这种方法转成csv文件之后,第一行为自动生成的表头)
#截取txt文件
def cut_front():
dt=open('./data/data_train_new_2/2_background_row.txt',mode='a+')
for i in range(1,5001):#从background1截取文件前5000行数据,放入dt中
theline = linecache.getline(r'../data/train/background2.txt',i)
dt.writelines(theline)
#txt文件转csv文件(注:必须提前建立csv文件,否则报错)
def txtTocsv():
txt = np.loadtxt('./data/data_train_new_2/2_background_row.txt')
txtDF = pd.DataFrame(txt)
txtDF.to_csv('./data/data_train_new_2/2_background_row.csv',index=False)
方法二:直接将文件的后缀名.txt改成.csv(这种方法简单,而且不会自动生成表头)
读取csv文件的固定列(带表头/不带表头)
方法一:带表头
#读出来的内容带有表头(row[2]:第三列)
with open('./data/data_train_new_2/2_420v_row.csv') as csvfile:
reader=csv.reader(csvfile)
column1=[row[2]for row in reader]
print(column1)
方法二:不带表头
#读出来的是去掉表头的内容(row['2']:第三列)
with open('./data/data_train_new_2/2_420v_row.csv') as csvfile:
reader = csv.DictReader(csvfile)
column = [row['2'] for row in reader]
print(column)
csv文件读取出来是str类型,计算需转换成float类型。
data = []
for j in range(len(column)):
data.append(float(column[j]))#csv读取出来是str格式,要转成float
print((data))
注:这是本人对自身学习的一个总结,如有侵权,请联系本人。