python去除csv文件中每一行的多余字符

动机

最近处理csv文件的时候,遇到了某些行的行尾出现多余的分号的情况,而我在使用这些csv文件的时候,这些分号会导致程序运行错误,所以就需要将这些多余的分号去除,csv的形式如下:

image_pathannotation
path/to/image12 x1 y1 x2 y2;1 x1 y1 x2 y2
path/to/image21 x1 y1 x2 y2;
path/to/image32 x1 y1 x2 y2

解决方案

这种情况可以使用python进行解决,具体步骤如下:

  1. 假设需要处理的csv文件为train.csv,首先需要使用python对其进行读取
file = open("train.csv", "r")  # 只读模式读取train.csv文件
lines = []  # lines列表存储每一行的内容
for i in file:
    lines.append(i)  # 遍历每一行内容进行存储
file.close()  # 读取完毕
  1. 然后使用for循环对每一行内容进行处理,若行尾有分号,则去除
new = []  # 用于存储处理后的每一行内容
for line in lines:
	if line[:-1].endswith(";"):  # 若该行以分号结尾
		tmp = line[:-1].rstrip(";")  # 去除该分号
		new.append(tmp + "\n")  # 结尾加上换行符并存储
	else:
	    new.append(line)  # 若不以分号结尾,则直接存储
  1. 假设要生成的新的csv文件为train_new.csv,则将new中的内容写入即可
file_write_object = open("train_new.csv", "w")  # 写入模式
for var in new:
    file_write_object.writelines(var)
file_write_object.close()

结果

image_pathannotation
path/to/image12 x1 y1 x2 y2;1 x1 y1 x2 y2
path/to/image21 x1 y1 x2 y2
path/to/image32 x1 y1 x2 y2
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值