2014-10-03 112 views
0

我有一個像Python的打印格式

這是CSV文件(這是我在蟒蛇讀)的表

Temp E1  E2 n 
100 3000 500 0.31 
200 4000 521 0.32 
300 5000 522 0.33 

我要打印使用的txt文件follwing輸出的Python

TableP1,101,,,,,,,100,3000,200,4000,300,5000,end. 
TableP1,102,,,,,,,100,500,200,521,300,522,end 
TableP1,103,,,,,,,100,0.31,200,0.32,300,0.33,end 

基本上我有問題,按以下方式排序數據並打印到文本文件沒有引號

+0

那麼你到目前爲止嘗試過什麼?您的輸入和輸出不符合我所能看到的任何模式,那麼您如何提出組織它? – MattDMo 2014-10-03 21:45:21

+1

請[編輯]你的問題。不要在註釋中張貼代碼,特別是Python,縮進是如此重要... – MattDMo 2014-10-03 21:48:47

+0

基本上我想打印格式如sometext ,,,,, Col(1)row(1),col(2)row(1 ),col(1)行(2),col(2)row(2),col(1)row(3),col(2)row(3),en – 2014-10-03 22:10:33

回答

0
with open('1.csv') as f: 
    column_count = len(next(f).split(',')) 
    f.seek(0) # If there's no header 
    rows = [line.strip().split(',') for line in f] 

with open('2.txt', 'w') as f: 
    for idx in range(1, column_count): 
     n = str(100 + idx) 
     r = ['TableP1', n, '', '', '', '', '', '', ''] 
     for row in rows: 
     if len(row) < column_count: 
       continue 
      r.append(row[0]) 
      r.append(row[idx]) 
     r.append('end') 
     print ','.join(r) 
     print >>f, ','.join(r) 
+0

文件「createtable.py」,行10,在 r.append(row [idx]) IndexError:列表索引超出範圍(我得到這個錯誤) – 2014-10-04 07:56:27

+0

@EnggMechie,看起來像原來的csv有一個沒有足夠的列的行。我更新了答案,跳過這樣的話。請檢查出來。 – falsetru 2014-10-04 07:59:39

+0

TableP1,101 ,,,,,,,,結束 TableP1,102 ,,,,,,,,結束 TableP1,103 ,,,,,,,,結束>> @falsetru這是我得到的輸出如何不添加表格值 – 2014-10-04 10:46:02