我正在阅读csv格式的歌曲文件,我不知道我做错了什么。
myString.replace(/([^\/]+(?=#))/, '$1:')
这是错误:
import csv
import os
import random
file = open("songs.csv", "rU")
reader = csv.reader(file)
for song in reader:
print(song[0], song[1], song[2])
file.close()
答案 0 :(得分:0)
尝试
for song in [unicode(song, 'utf-8') for song in reader]:
print(...)
答案 1 :(得分:0)
使用这段代码:
for song in reader:
print( song[0], song[1],song[2])
在循环的每次迭代期间,您在reader
中打印元素0,1和2。如果总共少于3个元素,这将导致(不同的)错误。
如果您不知道每行中至少有3个元素,则可以将代码包含在try
,except
块中:
with open("songs.csv", "r") as f:
song_reader = csv.reader(f)
for song_line in song_reader:
lyric = song_line
try:
print(lyric[0], lyric[1], lyric[2])
except:
pass # ...or preferably do something better
值得注意的是,在大多数情况下,最好在with
块内打开文件,如上所示。这消除了对file.close()
的需求。
答案 2 :(得分:0)
您可以使用utf-8编码打开文件。
file = open("songs.csv", "rU", encoding="utf-8")