我试过一些东西,每次都会遇到不同的错误。首先,我使用'r'
和'w'
选项进行读写,但这会导致csv在excel中查看时在实际行之间有空行。
所以,我发现我必须用'rb'
和'wb'
来读和写。但是,现在我得到了错误:_csv.Error iterator should return strings, not bytes (did you open the file in text mode?)
。
这是我的代码:
def readLines():
r = csv.reader(open('test.csv', "rb"), dialect="excel")
return [l for l in r] #causes the error
def writeFile(lines):
resultFile = open('output.csv', 'wb')
wr = csv.writer(resultFile, dialect='excel')
wr.writerows(lines)
我对lines
对象做了一些修改,要求它们是字符串。我这样做对吗?
如果您的文本带有重音符号或使用英语以外的其他语言,则可能需要从the Python Library standard中选择正确的编码。有些文本编辑器允许您了解特定文件的编码。我和短信管理员一起发现的。因此,读取带有重音符号的文件(西班牙语)的正确Python代码是:
尝试以文本模式打开文件:
问题是我没有设置新行属性。
以下是我的更新代码,现在正在工作:
相关问题 更多 >
编程相关推荐