为了账号安全,请及时绑定邮箱和手机立即绑定

比较 CSV 值

比较 CSV 值

红颜莎娜 2021-11-02 19:33:54
我不是编码员,但我一直在尝试比较 csv 原始值并将较大的值与第一个原始值和第一个原始值切换到第二个原始值。例如:NumberA, NumberB10       2233       44776.4    779.778       77代码:if NumberA[0] < NumberB[0]:     NumberA[10] = NumberB[0]    NumberB[10] = NumberA[0] 我不确定如何为此编写循环。此外,最后,我想用新的更改值生成一个新的 CSV 文件。请帮助解决这个问题。
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

有很多方法可以做到这一点,但从csv 库文档中的一些示例开始,这些示例展示了如何读取csv文件和写入新csv文件。


import csv


header = []

rows = []

sortedrows = []


with open('data.csv', 'r') as f:

    reader = csv.reader(f)


    # grab only the first row as the header/column labels

    header = next(reader, None)

    # read the csv data into list `rows`

    rows = list(reader)


for row in rows:

    # convert all values to float for easy comparison

    nums = map(float, row)

    # sort values in descending order 

    sortedrows.append(sorted(nums, reverse=True))


# write sorted data to a new csv file

with open('sorted.csv', 'w') as f:

    writer = csv.writer(f)

    writer.writerow(header)

    writer.writerows(sortedrows)

sorted.csv 应包含所需的结果:


NumberA,NumberB

22.0,10.0

44.0,33.0

779.7,776.4

78.0,77.0

在 Excel 中查看:

//img1.sycdn.imooc.com//618122450001a31302470172.jpg

查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信