【发布时间】:2014-06-06 08:52:36
【问题描述】:
我正在使用 csv 模块中的 writerow 函数将列表保存到 csv。当我在 MS office Excel 中打开最终文件时出现问题。 在我遇到这个问题之前,我试图处理的主要问题是将列表保存到每一行。它将每一行保存到第 1 行的一个单元格中。我做了一些小的改变,现在发生了。作为一个python新手,我当然很困惑。
import csv
inputfile = open('small.csv', 'r')
header_list = []
header = inputfile.readline()
header_list.append(header)
input_lines = []
for line in inputfile:
input_lines.append(line)
inputfile.close()
AA_list = []
for i in range(0,len(input_lines)):
if (input_lines[i].split(',')[4]) == 'AA':#column4 has different names including 'AA'
AA_list.append(input_lines[i])
full_list = header_list+AA_list
resultFile = open("AA2013.csv",'w+')
wr = csv.writer(resultFile, delimiter = ',')
wr.writerow(full_list)
谢谢!
更新: full_list 如下所示:['1,2,3,"MEM",...]
UPDATE2(4 月 22 日): 现在我在同一行中获得了三个数据单元格(A1 中的标题和 A2 和 A3 中的其余部分)。显然,换行符不适用于一个大列表中的三个项目。我认为现在更具体的问题是如何将每条记录后面带有 '\n' 的记录列表保存到 csv。
UPDATE3(4 月 23 日): 原始文件
【问题讨论】:
-
您能否在答案中包含
full_list的开头?此外,您的第二个 for 循环非常不符合 Python 风格,您应该使用for il in input_lines:,然后将input_lines[i]替换为il。 -
@Jasper I 我添加了要更新的完整列表。
-
您的代码存在许多问题,我理解这是因为您对 Python 非常陌生。我强烈建议您花时间阅读tutorial(或this,如果您使用的是Python 3.x)。还要研究
csvmodule docs,其中包括一些如何使用它的示例。
标签: python python-2.7 csv