【问题标题】:Appending separate rows from csv in python在python中从csv附加单独的行
【发布时间】:2026-01-18 10:45:02
【问题描述】:

我想从 csv 文件中追加单独的行。我想附加第一个、第三个、第四个和第五个元素。这是我到目前为止所拥有的,但它似乎不起作用——有什么想法吗?此代码当前保存在两个单独的列表中;我希望将行附加到同一个列表中。

import csv
game_file = open(gamefile + ".csv")
game_file = []
score_file.append([row[0]])
score_file.append([row[2:5]])
with open(studentsclass + ".csv", "w") as f:
        writer = csv.writer(f)
        writer.writerows(score_file)
        f.close()
    game_file.close()

【问题讨论】:

    标签: python arrays list


    【解决方案1】:

    使用csv 会有所帮助:

    import csv
    
    game_file = []
    included_cols = [0, 2, 3, 4, 5]
    
    with open(filename, 'rb') as csvfile:
        reader = csv.reader(csvfile, delimiter=';', quotechar='"')
        for row in reader:
            game_file.append(list(row[i] for i in included_cols))
    

    【讨论】:

      【解决方案2】:

      您可以在 reader 对象上使用 enumerate 并检查索引是否在您想要的列表中(我已将其转换为具有 O(1) 以检查成员资格的集合):

      import csv
      
      temp=0
      rows=[]
      with open('eggs.csv', 'rb') as csvfile:
           spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
           for i,row in enumerate(spamreader):
                   if i in {0,2,3,4,5}:
                      temp+=1
                      rows.append(row)
                   if temp==5:
                         print rows
                         break
      

      【讨论】:

        最近更新 更多