2017-02-20 52 views
1

我有一些csv文件,其中sep=,作爲第一行。我可以在standart CSV模塊中使用'sep ='行嗎

例如

sep=, 
Col 1,Col 2, 
11.01.2017 21:56,Some data 
.... 

,我需要讀它,並將它與csv模塊現在它看起來像寫:

with open("file.csv", 'r', encoding='utf-8') as file: 
    file.readline() 
    fp = csv.DictReader(file, dialect='excel', delimiter=',') 

而同樣書寫時:

with open("file.csv", 'w', encoding='utf-8') as file: 
    file.writeline() 
    fp = csv.DictWriter(file, dialect='excel', delimiter=',') 

但我不知道在csv模塊中是否有更多的標準方式來支持這種csv格式?

回答

1

當您調用file.readline()時,可以從值中去除'sep =',然後將其分配給一個變量。然後,使用該變量作爲分隔符:

csv_sep = file.readline()[4:] 
fp = csv.DictReader(file, dialect='excel', delimiter=csv_sep) 
+1

是的,我知道,但我的問題是,如果有任何特殊格式的標準'csv' mofrule來處理。就像使用'dialect ='excel_with_sep_line'' insted of'dialect ='excel'' – GhostKU

相關問題