为每列添加列号

时间:2018-05-22 15:49:32

标签: python arrays lambda

我正在读取txt文件并逐行添加数组。但我需要改变这样的每一行 我的列表如= [[1strow],[2ndrow],[3rdrow],........,[8000throw]]。列表中的列表。

我的行:每行包含23个字母,但我只想更改2-23而不是第一行。

e,a,b,c,d,r,y,t,w,s,e,t......s (23th letter , but If you start 0 cause of index, Its 22th)

t,y,e,e,s,f,g,r,t,q,w,e,r,.....s 

我想要的是

e,a1,b2,c3,d4,r5,y6,t7,w8,s9,e10,t11......s22

t,y1,e2,e3,s4,f5,g6,r7,t8,q9,w10,e11,r12,.....a22 

我的主要代码:

with open('C:/Users/xxx/Desktop/input/mushrooms.csv', 'r') as csvfile:
    spamreader = csv.reader(csvfile)
    for row in spamreader:
            datas.append(row)

print(datas[0]) --> ['p', 'x', 's', 'n', 't', 'p', 'f', 'c', 'n', 'k', 'e', 'e', 's', 's', 'w', 'w', 'p', 'w', 'o', 'p', 'k', 's', 'u']

我怎么能用python做到这一点?

1 个答案:

答案 0 :(得分:1)

row = ['e','a','b','c','d','r','y','t','w','s','e','t']
newrow = row[0:1] + [letter + str(num) for num,letter in enumerate(row[1:],1)]

在您的具体示例中,

newdatas = [row[0:1] + [letter + str(num) for num,letter in enumerate(row[1:],1)] for row in datas]