仅解析一个值的CSV

时间:2016-08-02 20:49:04

标签: python csv parsing ssis

我正在尝试解析CSV文件中的数据。这些文件位于文件夹中,我想提取数据并将其写入数据库。但是,csvs不是以表格格式设置的。我知道如何使用for each循环容器将csvs导入db,添加数据流任务,以及使用OLE DB Destination导入。

问题是从这些csv中获取一个值。该文件的格式如下:

Title        Title 2            
Date saved  ##/##/####  ##:## AM        
Comment             
[ Main ]                
No. Measure  Output Unit of measure 


1  Name  8  µm  
    Count   0   pcs     
[ XY Measure ]              
    X           
    Y           
    D           
[ Area ]                
No. Area    Unit    Perimeter   Unit

我想要的只是输出“8”,用于获取文件名称以使其成为结果的名称或将其添加到列中,以及添加到其自己的列的日期和时间。 我不确定要进入哪个方向,我希望有人有一些东西供我调查。最初,我不确定在使用SQL服务器之前是否应该在外部(python)进行解析。如果有人知道我应该用另一种方式来完成这件事,请告诉我。对于之前不清楚的帖子感到抱歉。

预期结果:

Filename    Date         Time      Outcome 


jnnnnnnn    ##/##/####     ##:##        8    

1 个答案:

答案 0 :(得分:0)

我试试这个:

filename = # from the from the path of the file you're parsing

# define appropriate vars

for row in csv_file:
    if row.find('Date saved') > 0:
        row = row.replace('Date saved ')            
        date_saved = row[0:row.find(' ')]

        row = row.replace(date_saved + ' ')
        time = row[0:row.find(' ')]
    elif row.find(u"\u03BC"):
        split_row = row.split(' ')
        outcome = split_row[2]

    # add filename,date_saved,time,outcome to data that will go in DB