实现.csv文件删除换行符的尝试与解决

文章讲述了在处理CSV文件时遇到的行列不整齐和需要去除换行符与重复值的问题。提供了两种解决方案:一是利用Python的csv模块读取、替换和写入文件;二是通过Excel的公式去除重复行,然后在Word中替换换行符。这两种方法均能达到预期效果。
摘要由CSDN通过智能技术生成

前些天在处理.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.解决

---------------------------------------------------------------------------------------------------------------------------------上面是个人在学习工作时所遇到的问题及解决办法,如有雷同实属巧合。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值