Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列添加到csv文件的开头_Python_Csv - Fatal编程技术网

Python 将列添加到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

我想在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, 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)