gpt4 book ai didi

python - 如何获取运算符模块的 sorted 函数来存储数据,以便我可以追加文件?

转载 作者:太空狗 更新时间:2023-10-30 02:51:48 25 4
gpt4 key购买 nike

我正在尝试将 datalist.csv 中的数据存储在变量“sort”中,以便我可以将数据附加到文件中,但是,它返回一个空字段。

datalist.csv 的示例文件是

W_A11, 2000-02, Moving average, 59.66666667, 50.92582302, 68.40751031, Injuries, Number, Assault, Validated, Whole pop, All ages, Fatal,
W_A12, 2000-02, Moving average, 1.543343121, 1.317063238, 1.769623003, Per 100,000 people, Age-standardised rate, Assault, Validated, Whole pop, All ages, Fatal,
W_F11B, 2000-02, Moving average, 64.33333333, 55.25710337, 73.40956329, Injuries, Number, Falls, Validated, Whole pop, 0-74 years, Fatal

我不确定要尝试什么。

infile = open("datalist.csv", "r")
next(infile)
for line in infile:
line.strip("'")
line.strip('"')
csvfile = csv.reader(infile, delimiter=',')
csvfile = list(csvfile)
sort = sorted(csvfile, key= operator.itemgetter(6))
for line in sort:
print(line)

我希望 sort 存储来自 datalist.csv 的数据,并让 print 语句返回 csv,但按第六个索引值组织。它返回一个空字段。

最佳答案

这个循环:

for line in infile:
line.strip("'")
line.strip('"')

完全消耗 infile(并且不对行进行任何操作;strip 不会就地改变数据,而且它可能没有按照您认为的方式执行,它只会从整行而不是每个字段中去除前导和尾随引号)。

因此,当您到达:

csvfile = csv.reader(infile, delimiter=',')

阅读器没有什么可读的。

摆脱循环,离开(经过更多清理,如使用 with 语句并传递 newline='' 以满足 csv模块要求):

with open("datalist.csv", newline='') as infile:
csvfile = csv.reader(infile, delimiter=',')
next(csvfile)
sort = sorted(csvfile, key=operator.itemgetter(6))
for line in sort:
print(line)

它应该可以工作。

关于python - 如何获取运算符模块的 sorted 函数来存储数据,以便我可以追加文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54702471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com