如何在Python中在CSV文件中添加新行

0 投票
3 回答
1402 浏览
提问于 2025-04-16 13:49

我有一个CSV文件,里面有时间(小时:分钟:秒)和日期(月份/日期/年份)这两个字段,还有十六个其他字段。

通常情况下,时间字段每30秒会显示一次,但有时候两个时间之间的间隔可能会更长(几分钟甚至几个小时)。

比如说:

1/27/2011 12:10:00 
1/27/2011 12:10:30 
1/27/2011 12:11:00 
1/27/2011 12:15:00

我需要在每次两行之间的间隔超过30秒时,添加新的行(数量和间隔的长度相同),并用间隔内第一行的值来填充这些新行。

我想在不使用数据库的情况下做到这一点。这样做可能吗?如果可以的话,能给我一些好的建议吗?

3 个回答

0

我不太明白你的情况。如果文件是这样设置的:

1/27/2011 12:10:00 xxx xxx xxx xx...
1/27/2011 12:10:30 xxx xxx xxx xx...
1/27/2011 12:10:00 xxx xxx xxx xx...
1/27/2011 12:15:00 xxx xxx xxx xx...

那么你可以读取这个文件(或者只读取最后两行)到你的程序中,可能以行的列表形式。然后检查这两行之间的时间差是否大于30秒,如果需要的话,可以在数组中插入两行,并重新写入整个文件。或者,你也可以尝试直接在文件中进行编辑。

0

你有没有查过说明书?http://docs.python.org/library/csv.html 说明书的最后还有一些例子。

我想到的第一个办法是,逐行读取csv文件,把每一行复制到一个新的空csv文件里。如果当前这一行和前一行的距离超过30个字符,就在新的csv文件里添加前一行,添加的次数要根据需要来决定。

1

把最后两行内容先存起来,然后计算它们之间的时间差。接着,根据这个时间差的结果来决定输出什么内容。

撰写回答