【发布时间】:2022-01-07 18:31:59
【问题描述】:
我的代码:
import csv
import operator
first_csv_file = open('/Users/jawadmrahman/Downloads/account-cleanup-3 array/example.csv', 'r+')
csv_sort = csv.reader(first_csv_file, delimiter=',')
sort = sorted(csv_sort, key=operator.itemgetter(0))
sorted_csv_file = open('new_sorted2.csv', 'w+', newline='')
write = csv.writer(sorted_csv_file)
for eachline in sort:
print (eachline)
write.writerows(eachline)
我想按第一列排序并以这种方式获得结果: 1,9 2,17, 3,4 7,10 使用上面发布的代码,这就是我现在得到它的方式:
我该如何解决这个问题?
【问题讨论】:
-
,在这种情况下是否应该代表小数点? -
pandas包是用于处理表格数据(例如 CSV)的最全面且受支持的包。在 Pandas 中读取、排序和保存应该是大约 3 行代码。见stackoverflow.com/questions/37787698/… 和stackoverflow.com/questions/14365542/… -
eachline本身就是一个列表,因此write.writerows(eachline)为每个eachline生成两行。试试write.writerow(eachline)。当您使用它时,我鼓励您查看与open()一起使用的with关键字为您做了什么。它将大大清理您的代码。 -
请不要包含数据图像。请编辑您的问题并包含您的输入 CSV 和所需的输出 CSV 作为文本。
-
@JonSG,谢谢!