2013-10-22 91 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')