【发布时间】:2016-01-11 00:01:55
【问题描述】:
我目前正在为我的公司开发一个项目。我的第一个任务是一个相对简单的算法,用于读取 CSV 文件,正确格式化,然后将其输出到 CSV 文件中。我正在使用 Python 2.7
我设置的简单方法现在仅将格式化为一行的数据输出为:
'item1','item2','item3','LAST_ITEM',
希望在一行中的输出是:
'item1','item2','item3','LAST_ITEM'
基本上,我不希望最后一个逗号出现在列表的最后一项中。这是我的简单代码:
csvfile = csv.DictReader('csvfile.csv', delimiter=',')
outputFile = open('outputfile.txt')
for row_index, row in enumerate(csvfile):
outputFile.write("'" + row['location'] + "',")
我知道必须有一种方法可以检查阅读器是否在最后一行,这样我就可以简单地打印除最后一个逗号之外的一行。所以,我一直在阅读很多关于生成器的内容并在谷歌上搜索了很多答案。不过,我不能完全确定如何做到这一点。
【问题讨论】:
-
您有什么理由尝试在输入上使用
csv.DictReader而不是在输出上使用等价物?另外 - 方便查看isLast的含义 - 回答社区需要更多的问题 - 你也会混淆行(可能是行)和列......它是什么? -
我很抱歉!!我一直在尝试不同的选项,这只是枚举(csvfile)。只是复制/粘贴不正确。
-
另外,我只是在这里使用 print 函数而不是 file.write() 作为一种快速测试输出的方法,而不必每次都写入文件。
-
您需要另外添加所需的输入/输出 - 您遇到的问题(我认为)如果您没有尝试以错误的方式进行测试,这不会是一个问题 :)
-
感谢您的 cmets。我现在已经添加了所需的输出。这是我第一次在这里提问,谢谢你的建议。
标签: python python-2.7 csv