前些天在处理.csv(逗号分隔值格式)文件会出现如下问题,并附上笨拙的解决办法如下。欢迎大家交流讨论。
提出问题
1.实例文档 行列错落有致,分别用记事本、excel打开如下所示;
2.现在需要把"\n"or"\r" 去除,且删除重复数值,使之变成一整串简洁的字符。
解决问题
方法一:
直接GPT,数据处理上,功能强大的python有得天独厚的优势,上图。
import csv
# 读取CSV文件
with open('file.csv', 'r') as file:
reader = csv.reader(file)
lines = list(reader)
# 替换换行符为逗号
new_lines = []
for line in lines:
new_line = [cell.replace('\n', ',') for cell in line]
new_lines.append(new_line)
# 将替换后的数据写入CSV文件
with open('new_file.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(new_lines)
效果很不错。
方法二:(笨拙的解决办法)
1.把.csv文档右键excel打开,使用公式,去除重复行内容,且不改变其他值,如下图。右下角下拉填充,截图一并附上。
=IF(COUNTIF($A$1:A1,A1)=1,A1,"")
此处也可在数据库中进行操作,使用SQL内置函数 ROW_NUMBER() 加 PARTITION 完成。
SELECT CASE WHEN row = 1 THEN DeviceName
ELSE ''
END headerNo,
ader
FROM ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY DeviceName ORDER BY GETDATE() ) row FROM dbo.demo)M
可见效果相同。
2.保存后,用记事本打开如下图。
3.将内容复制到WORD文档中,执行替换操作,如下图.
将英文半角" ^p" 替换为""
4.解决
---------------------------------------------------------------------------------------------------------------------------------上面是个人在学习工作时所遇到的问题及解决办法,如有雷同实属巧合。