【问题标题】:Editing line in csv with python用python编辑csv中的行
【发布时间】:2013-08-16 21:29:46
【问题描述】:

到目前为止,这是我的代码:

def edit_assignment():
    print 'Select Assignment'
    list_assignment()
    f1 = open(fdir, 'r')
    lines = f1.readlines()
    f1.close()
    line_to_edit = raw_input('Assignment to edit(start from 0): ')
    if os.path.exists(fdir):
        f = open(fdir, "w")
        t1 = raw_input('TEST:')
        lines[int(line_to_edit)] 
        f.writelines()
        f.close()        
    else:
        check()
        edit_assignment()

这是较大代码的一部分,但我不知道如何获取它来替换 csv 中的第 X 行。我已经被困了一段时间了,不知道该去哪里。

感谢任何帮助

【问题讨论】:

  • 现在它应该只写'x'而不是任何用户定义的文本,只是为了让它工作。它应该通过清空文件并重新编写来编辑csv中的某一行。

标签: python csv editing


【解决方案1】:

此代码可以改进,但它确实有效。只需将 output_array[row_to_edit] 更改为您要编辑的行和相应的值,然后它将使用该数据重写 CSV。

import csv

c = csv.reader(open('YourCSV.csv', 'rU'))

output_array = []
for row in c:
    output_array.append(row)

output_array[row_to_edit] = 'Edited'

writer = csv.writer(open('YourCSV.csv', 'wb'))

for row in output_array:
    writer.writerow(row)

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多