以特定格式python编写数据输出

2024-03-28 08:11:40 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从中获取数据

 100   Aktiva                       
 110   Aktiva Lancar                
 111   Kas                          
 112   Piutang Usaha                
 113   Piutang Gaji                 
 120   Aktiva Tetap / Inventaris    
 121   Tanah                        
 122   Kendaraan   

像这样输出

^{pr2}$

谢谢。。在


Tags: pr2gajikastanahinventaristetaplancarpiutang
3条回答

以下示例对我来说很好:

data = [ (100, 'Aktiva'), (110, 'Aktiva Lancar'), (111, 'Kas'), (112, 'Piutang Usaha'), (113, 'Piutang Gaji'), (120, 'Aktiva Tetap / Inventaris'), (121, 'Tanah'), (122, 'Kendaraan'), (200, 'Pasiva'),(220, 'Pasiva1') ]

for k,v in data:
    pad = 0 if k % 100 == 0 else 1
    if (k - 100) % 10 != 0:
        pad += 1
    print '\t' * pad + str(k) + '\t' + v
data = [
  (100, 'Aktiva'),
  (110, 'Aktiva Lancar'),
  (111, 'Kas'),
  (112, 'Piutang Usaha'),
  (113, 'Piutang Gaji'),
  (120, 'Aktiva Tetap / Inventaris'),
  (121, 'Tanah'),
  (122, 'Kendaraan'),
  (200, 'Pasiva') ]

def rzeros(a):
    ''' count number of zeros from right '''
    return len(a)-len(a.strip('0'))

def pads(a):
    ''' calculate left and right paddings '''
    la = len(a)
    rz = rzeros(a)
    return [(la-rz-1) * (la+1), rz * (la+1)]

for k,v in data:
    lpad, rpad = pads(str(k))
    print " "*lpad, k, " "*rpad, v

不知道数据是从哪里来的,如果你可以发布你的代码,那么我可以确切地帮助你什么,你正在寻找,所以现在只是猜测。。如果你要打印的数据来自某个循环,那么你可以这样做。。在

   for val in data:
       intVal = val[0]
       strVal = val[1]
       if intVal % 100 == 0: \\ for 100, 200, ...
          print str(intVal)+"\t\t\t"+strVal
       elif intVal % 10 == 0:  \\ for 110, 210, 220 ...
          print "\t"+str(intVal)+"\t\t"+strVal
       else:
          \\for 111, 112, ...
          print "\t\t"+str(intVal)+"\t"+strVal

相关问题 更多 >