2013-10-22 49 views
0

我有一个定期附加的CSV文件,包含两种类似的数据。我无法控制数据如何进入CSV - 但我想执行一个python脚本,它将格式化CSV,以便我可以将其吸收到数据库中。这是我想做的事:使用python格式化/将逗号插入数据行

传入的原始数据是这样的:

​​

的想法是只把这些数据反复高度后添加一个逗号,如果没有重量或类似的东西。本质上模仿一个空白的领域,这样的数据将基本上是这样的:

record, date & time, sensor, height, **weight,**status (updated after python script if/then) 

record, date & time, sensor, height, weight, status 

希望这是有意义的 - 基本上,增加一个字段,我会在每次文件更新时运行该脚本。

+0

你关心csv转义和引号吗? – oleg

回答

2
import csv 
import os 
with open('yourfile.csv') as f_in, open('yourfile.csv.temp') as f_out: 
    reader = csv.reader(f_in) 
    writer = csv.writer(f_out) 
    for row in reader: 
     if len(row) == 5: 
      row.insert(4, '') 
     writer.writerow(row) 
os.rename('yourfile.csv.temp', 'yourfile.csv')