批量将TXT文件转换成CSV文件的问题
在网上下了一个TXT转CSV的脚本,运行以后显示“!debugfile('D:/spyderlianxi/data_from_test_txt/txt csv1.py', wdir='D:/spyderlianxi/data_from_test_txt')”,没有在相应文件夹输出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:\spyderlianxi\data_from_test_txt' #txt文件所在文件夹路径
save_dir=r'D:\spyderlianxi\data_from_test_txt' #csv文件存储所在文件夹
#txt_data_to_csv(path,save_dir)