【发布时间】:2019-01-20 18:57:12
【问题描述】:
我编写了以下代码来提取信息。文件并根据其第二列对象按字母顺序对其进行排序:
import csv
import operator
import sys
def re_sort(in_file='books.csv', out_file='books_sort.csv'):
data = csv.reader(open('books.csv', newline=''), delimiter=',')
header = next(data)
sortedlist = sorted(data, key=operator.itemgetter(1))
with open("books_sorted.csv", "w", newline='') as csvfile:
cvsWriter = csv.writer(csvfile, delimiter=',')
cvsWriter.writerow(header)
cvsWriter.writerows(sortedlist)
每当我尝试在命令行上运行此代码时,它都会给我错误 TypeError: 'newline' is an invalid keyword argument for this function。你们有没有看到为什么会发生这种情况的原因。如果是结构化版本的文件内容如下:
Title, Author, Publisher, Year, ISBN-10, ISBN-13
Automate the..., Al Sweigart, No Sta..., 2015, 15932..., 978-15932...
Dive into Py..., Mark Pilgr..., Apress, 2009, 14302..., 978-14302...
"Python Cook..., "David Bea..., O'Reil..., 2013, 14493..., 978-14493...
Think Python..., Allen B. D..., O'Reil..., 2015, 14919..., 978-14919...
"Fluent Pyth..., Luciano Ra..., O'Reil..., 2015, 14919..., 978-14919...
【问题讨论】:
-
这或许能帮到你:enter link description here
-
请参考 Stack Overflow 上的类似文章。 stackoverflow.com/questions/29840849/…
-
将 newline='\n' 替换为 lineterminator='\n'
标签: python python-3.x