import csv, Tkinter
with open('most_common_words.csv') as csv_file: # Opens the file in a 'closure' so that when it's finished it's automatically closed"
csv_reader = csv.reader(csv_file) # Create a csv reader instance
for row in csv_reader: # Read each line in the csv file into 'row' as a list
print row[0] # Print the first item in the list
我正在尝试使用csv导入此常用单词列表。它继续给我同样的错误
for row in csv_reader: # Read each line in the csv file into 'row' as a list
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
我尝试了几种不同的方法,但它们也没有用。有什么建议吗?
此外,该文件需要保存在哪里?可以和程序在同一个文件夹中吗?
答案 0 :(得分:2)
您应始终以二进制模式(Python 2)或通用换行模式(Python 3)打开CSV文件。另外,请确保分隔符和引号字符为,
和"
,否则您需要另行指定:
with open('most_common_words.csv', 'rb') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=';', quotechar='"') # for EU CSV
您可以将文件保存在与程序相同的文件夹中。如果不这样做,您也可以提供open()
的正确路径。如果你在Windows上,请务必使用原始字符串,否则反斜杠可能会欺骗你:open(r"C:\Python27\data\table.csv")
答案 1 :(得分:0)
您似乎在这里有一个带有一列的文件:
这是一个简单的单词列表。当我打开它时,它会打开Excel 一列500行500个不同的单词。
如果是这样,您根本不需要csv模块:
with open('most_common_words.csv') as f:
rows = list(f)
请注意,在这种情况下,列表中的每个项目都会附加换行符,因此如果您的文件是:
apple
dog
cat
rows
将为['apple\n', 'dog\n', 'cat\n']
如果你想剥去行尾,那么你可以这样做:
with open('most_common_words.csv') as f:
rows = list(i.rstrip() for i in f)