如何用Python 3清理CSV文件多余分隔符并拆分错误行
修复CSV文件中数据记录仪导致的行合并问题
我用Python 3处理一份CSV文件时遇到问题:数据记录仪未定期插入换行符,导致部分行包含4个条目(正常应为2个)。已经清理掉文件中的坏字符,但需要把错误行里的特殊分隔符替换成换行符,拆分出正确的行。
原代码
import csv with open('outty1.csv', 'w', newline='') as outcsv: writer = csv.writer(outcsv) writer.writerow(["Date", "Temperature", "Humidity"]) text = open("temperature.csv", "r") text = ''.join([i for i in text]) \ .replace("ÿÿ", ",") for i in text: if i.count(',')>1: text.replace(",", "/n") x = open("outty1.csv","a") x.writelines(text) x.close()
解析前的温度日志示例
1629881977,24.27 1629882037,24.28ÿÿ1629882097,24.29 ...(省略部分内容)
当前程序输出
Date,Temperature,Humidity 1629881977,24.27 1629882037,24.28,1629882097,24.29 ...(省略部分内容)
期望的修复后输出
Date,Temperature,Humidity 1629881977,24.27 1629882037,24.28 1629882097,24.29 ...(省略部分内容)
修复方法
将原代码中替换坏字符的行:
text = ''.join([i for i in text]) \ .replace("ÿÿ", ",")
修改为:
text = ''.join([i for i in text]) \ .replace("ÿÿ", "\n")
内容的提问来源于stack exchange,提问作者user1815179
相关产品推荐
相关产品推荐

