2021-01-03

@Python学习

文件和数据格式化

CSV文件逆序输出问题

问题:附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。

我的思路
以行为单位遍历文件,每行逆序输出即可。
实现代码

f = open('data.csv', "r", encoding = 'utf-8')
for i in f:
    print(i[::-1])
f.close()

非常之简单,但是输出结果不对。去看了下答案想了一下才明白问题在哪。
参考答案

f = open("data.csv")
for line in f:
    line = line.strip("\n")
    ls = line.split(",")
    ls = ls[::-1]
    print(",".join(ls))
f.close()

答案解析
我的问题在于读入的每行都是字符串,其中包含" 8"这样的部分,如果不加以处理就输出的话就成"8 " ,无法满足题目要求的“不改变周围布局”。因此应当将文件读进来,先去掉每行末尾的’\n’,再以 ‘,’ 为分隔符将字符串修改为列表,将列表逆序,可以保证各元素的顺序逆序但元素内部不受影响,再通过",".join(ls)用逗号拼接回去并输出,实现题目要求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值