所以我有一个CSV(https://uploadfiles.io/o5xm3),带有头(survived、pclass、name等)。我正在尝试使用python读取幸存列(0=died,1=yes),如果此人没有幸存,它会将此人的其他信息(来自其他列)写入另一个csv文件。到目前为止,我掌握的情况如下:
import csv
with open('titanic-new.csv',newline='') as csvfile:
spamreader = csv.DictReader(csvfile, delimiter=",")
sortedlist = sorted(spamreader, key=lambda row:(row['name']), reverse=False)
in_file = open('titanic-new.csv', 'r')
out_file = open('Q2_out.txt', 'w')
dict = {}
in_file.close()
out_file.close()
第一部分是我试图把名字按字母顺序排列,但我得到一个错误:(keyerror'name')如果有人能帮我也谢谢
编辑: 我下载了同事的文件,它看起来像这样(前3行):
survived,pclass,name,sex,age,ticket,fare,cabin
0,3,"Braund, Mr. Owen Harris",male,22,A/5 21171,7.25,
1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,PC 17599,71.2833,C85
您正在尝试筛选现有CSV,使其仅包含非幸存者。可按以下步骤进行:
在这种情况下,第一列即
row[0]
将是0
。如果是这种情况,请将行写入输出CSV。你知道吗这将为您提供一个CSV输出,开始如下:
[1:]
告诉它在写入时忽略第一列。你知道吗也可以使用
DictWriter
,但对于这种情况,简单的csv.reader
和csv.writer
也就足够了。你知道吗相关问题 更多 >
编程相关推荐