从csv升序读取并使用python更新csv

时间:2016-08-09 08:34:43

标签: python csv

我想知道在阅读该行之后是否可以阅读具有特定.csv的{​​{1}}文件。我想删除该特定行并更新row文件,下一行获得提升。假设.csv文件有标题。如果可能比怎么样? 防爆。以下是我的.csv

sample.csv

以下是我尝试的代码:

Time A B
12:25 5.6 4.5
12:30 1.2 -3.4
12:35 4.7 -4.0

但它得到了,附在文件的末尾。我也尝试在中间阶段的临时文件上写它。但是,它仍然无法满足我的目的,因为我必须处理同一个文件。这是输出import csv with open('sample.csv', 'rb') as inp, open('sample.csv', "a") as out: writer = csv.writer(out) for row in csv.reader(inp): writer.writerow(row) ,在读取一次迭代后我想要它:

sample.csv

1 个答案:

答案 0 :(得分:0)

您可以使用StringIO将内容保留在内存中,然后将其写入所需的文件。

from io import StringIO
import csv

filename = 'sample.csv'
out_data = StringIO()

# Read CSV data to memory
with open(filename, 'r', newline='') as in_file:
    writer = csv.writer(out_data)
    for row in csv.reader(in_file):
        writer.writerow(row)

# Write intermediate data to file
with open(filename, 'w', newline='') as out_file:
    out_file.write(out_data.getvalue())

out_data.close()