我正在将csv文件读入变量data
,如下所示:
def get_file(start_file): #opens original file, reads it to array
with open(start_file,'rb') as f:
data=list(csv.reader(f))
data
是整个csv文件。如何为此数据添加额外的列?
答案 0 :(得分:3)
data
是字符串列表的列表,所以......:
for row, itm in zip(data, column):
row.append(str(itm))
当然你需要column
是正确的长度,所以你可能想检查一下,例如,如果len(data) != len(column)
提出一个exc。
答案 1 :(得分:3)
.append
data
中每行末尾的值,然后使用csv.writer
写入更新后的数据。
答案 2 :(得分:3)
简答:在您喜欢的编辑器中打开CSV文件并添加一列
答案很长:首先,您应该使用csv.reader
来阅读文件;这会处理分割线条,格式错误的线条,带引号的逗号等所有细节。然后,将读者包装在另一个添加列的方法中。
def get_file( start_file )
f = csv.reader( start_file )
def data( csvfile ):
for line in csvfile:
yield line + [ "your_column" ]
return data( f )
正如您在其他问题中提到的那样:
def get_file( start_file )
f = csv.reader( start_file )
def data( csvfile ):
for line in csvfile:
line[ 1 ] += "butter"
yield line
return data( f )
你使用的
lines = get_file( "my_file.csv" )
for line in lines:
# do stuff