在python中使用writerow时从行的索引1开始

时间:2018-02-19 17:19:56

标签: python

我有一个脚本来创建大小为n的矩阵并将其写入csv文件。 我希望矩阵的大小为n的“寄宿生”。 我的代码:

a = []
firstRow = []
for i in range(n):
    row = []
    row.append(i+1)
    firstRow.append(i+1)
    for j in range(n):
        row.append(random.randint(x,y))
    a.append(row)

writer.writerow(firstRow)
writer.writerows(a)
使用n = 3

时输出

1,2,3
1,74,82,68
2,87,70,72
3,68,71,74

我需要输出如下:

  1, 2, 3
1,74,82,68
2,87,70,72
3,68,71,74

在csv索引0,0处有空白框。 我还需要所有矩阵从第1行开始而不是0

1 个答案:

答案 0 :(得分:0)

使用pandas,我们可以使用几行易于理解的代码获得以下有效 csv:

,1,2,3
1,91,66,70
2,82,24,79
3,57,56,73

使用的示例代码:

import pandas as pd
import numpy as np

# Create random numbers 0-99, 3x3
data = np.random.randint(0,100, size=(3,3))
df = pd.DataFrame(data)

# Add 1 to index and columns
df.columns = df.columns + 1
df.index = df.index + 1

#df.to_csv('output.csv')  # Uncomment this row to write to file.
print(df.to_csv())

如果您坚持要删除引导,

with open('output.csv', 'w') as f:
    f.write(df.to_csv()[1:])