【python学习】按行读取txt文件,将数据按列存入csv文件

您所在的位置:网站首页 按列读取csv 【python学习】按行读取txt文件,将数据按列存入csv文件

【python学习】按行读取txt文件,将数据按列存入csv文件

2023-10-05 02:02| 来源: 网络整理| 查看: 265

按行读取txt文件,将数据按列存入csv文件

在科研实验中,有时候会得到很多存储在txt文件的数据文件,这不利于直接用于画图,在此,使用python将txt文件中的数据按列存储进csv文件。 在这里插入图片描述 【代码设计思路】

按行读取txt文件去除每行数据两边的空格使用split()去除字符串中的空格,形成列表将列表元素提取存储在新列表将新列表数据按列写入csv文件中 import os import csv def txt_data_to_csv(path,save_dir): ''' 该函数实现将txt文件中的数据存储在csv文件中 思路: 1.按行读取txt文件 2.去除每行数据两边的空格 3.使用split()去除字符串中的空格,形成列表 4.将列表元素提取存储在新列表 5.将新列表数据写入csv文件中 ''' files= os.listdir(path)#遍历文件夹中的所有文件,将文件名存储在列表中 for file in files: #遍历文件夹中的txt文件 file_path = os.path.join(path,file) if not os.path.exists(save_dir): os.makedirs(save_dir) save_path=os.path.join(save_dir,'数据提取'+'from'+'_'+file+'.csv') if os.path.exists(save_path): os.remove(save_path) #如果已经存在该文件夹,移除 x_list=[]#新建空列表用于存储数据 y_list=[] with open(file_path,'r') as f:#打开txt文件 lines=f.readlines()#按行读取文件,并按行存储为列表 for line in lines:#遍历存储了文件信息的列表 line = line.strip()#去掉每个元素中的前后空格 #print(line) if line!='@Phi=0.0': xy=line.split()#将txt文件中每行的空格去掉 x_list.append(xy[0])#提取txt文件每行的第一个元素 y_list.append(xy[1])#提取txt文件每行的第二个元素 rows = zip(x_list,y_list)#将列表按列存储 with open(save_path, "w", newline='') as f: writer = csv.writer(f) for row in rows: writer.writerow(row)

调用函数:

path=r'D:\some files of others\name\test_txt'#txt文件所在文件夹路径 save_dir=r'D:\some files of others\name\data_from_test_txt'#csv文件存储所在文件夹 txt_data_to_csv(path,save_dir)

这里面涉及几个知识点:函数、if结构、遍历文件夹、创建文件夹、移除文件、按行读取文件、去除字符串中的空格、列表添加元素、将数据按列存入csv文件



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3