我不是编码人员,但是我一直在尝试比较csv原始值,并将较大的值与第一个原始值和第一个原始值切换为第二个原始值。例如:
NumberA, NumberB
10 22
33 44
776.4 779.7
78 77
代码:
if NumberA[0] < NumberB[0]:
NumberA[10] = NumberB[0]
NumberB[10] = NumberA[0]
我不确定如何为此编写循环。此外,在此之后,我想生成一个具有新更改值的新CSV文件。请帮助解决此问题。
答案 0 :(得分:0)
答案 1 :(得分:0)
许多方法可以做到这一点,但是从一些examples from the csv library documentation开始,它们显示了如何读取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中查看: