专栏文章目录
一、 读取文件夹下的多个txt并写入CSV1、任务背景
由于某些原因,导致设备采集的数据处于单个.txt文件中,对后续分析造成了不小的麻烦。介于每个.txt文件中的内容均一致,故可对.txt文件进行合并,废话不多说,直接上代码!!!
2、完整代码
# -*- coding: utf-8 -*-
'''
Data: 20221020
Author: Pingqian
Description: 为每个TXT文件创建一行,并将文件内容的每一列写入该行
请注意,此代码假定每个TXT文件的列数相同。如果列数不同,该代码将引发异常
在这种情况下,可能需要在循环中添加一些额外的逻辑来处理不同列数的文件
'''
import os
import csv
## txt文件路径
folder_path = 'E:/PingQian/Desktop/DATATXT'
## 合并文件路径
csv_file_path = "E:/PingQian/Desktop/DATATXT/total.csv"
# 获取文件夹中所有TXT文件的路径
file_paths = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.txt')]
# 打开CSV文件以进行写操作
with open(csv_file_path, 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
# 对于每个TXT文件
for file_path in file_paths:
# 打开TXT文件以进行读取操作
with open(file_path, 'r') as txt_file:
# 从TXT文件中读取除第一列之外的每一列,并将它们写入CSV文件中的一行
content = txt_file.readlines()
row = [x.strip().split(",")[1:] for x in content]
writer.writerow([item for sublist in row for item in sublist])