Python 将列添加到csv文件的开头
我想在csv文件的开头添加一个新列,我想迭代每一行,只需添加一个包含新列内容和旧列表的列表就可以了,确实可以,但它只在循环中起作用。它为什么这样做 文件: 预期产出:Python 将列添加到csv文件的开头,python,csv,Python,Csv,我想在csv文件的开头添加一个新列,我想迭代每一行,只需添加一个包含新列内容和旧列表的列表就可以了,确实可以,但它只在循环中起作用。它为什么这样做 文件: 预期产出: 0 column1 column2 column3 0 x1 y1 z1 0 x2 y2 z2 代码: 我得到的是: [0, column1, column2, column2] [0, x1, y1, z1] [0, x2, y2, z2] [column1, column2, colu
0 column1 column2 column3
0 x1 y1 z1
0 x2 y2 z2
代码:
我得到的是:
[0, column1, column2, column2]
[0, x1, y1, z1]
[0, x2, y2, z2]
[column1, column2, column2]
[x1, y1, z1]
[x2, y2, z2]
零基本上消失在循环之外。为什么?
谢谢 您看到的特定“故障”是由于范围界定的结果。即使您的第一个循环将n
设置为['0']+n
,它也只在该循环的范围内发生,而不会改变z
您可以创建一个新列表,并将新的n
附加到该列表中:
new_list = []
for n in z:
n = ['0'] + n
new_list.append(n)
for m in new_list:
print(m)
如果在更改行时更改z,则可以实现这一点
import csv
x = open('C:/Documents and Settings/admin/Desktop/sample.csv')
y = csv.reader(x)
z = []
for row in y:
z.append(['0'] + row)
print(z)
for m in z:
print(m)
因为您不更改
z
的元素。你必须这样写:对于枚举(z)中的i,n:z[i]=['0']+n
也许这有帮助:
new_list = []
for n in z:
n = ['0'] + n
new_list.append(n)
for m in new_list:
print(m)
import csv
x = open('C:/Documents and Settings/admin/Desktop/sample.csv')
y = csv.reader(x)
z = []
for row in y:
z.append(['0'] + row)
print(z)
for m in z:
print(m)