我正在Python上执行以下代码:from csv import reader, writer
def my_function(file1, file2, output, xs, stringL = 'k', delim = ','):
with open(file1, 'r') as text, open(file2, 'r') as src, open(output, 'w') as dst:
for l in text:
for x in xs:
if stringL in l:
print("found!")
my_reader = reader(src, delimiter = delim)
my_writer = writer(dst, delimiter = delim)
columnNumber = 0
for column in zip(*my_reader):
print(column, columnNumber)
columnNumber += 1
if __name__ == '__main__':
from sys import argv
if len(argv) == 5:
my_function(argv[1], argv[2], argv[3], argv[4])
elif len(argv) == 6:
my_function(argv[1], argv[2], argv[3], argv[4], argv[5])
elif len(argv) == 7:
my_function(argv[1], argv[2], argv[3], argv[4], argv[5], argv[6])
else:
print("Invalid number of arguments")
print("Done")
file1是一个文本文件,类似于:
^{pr2}$
file2是任何csv文件
我遇到了一个错误:File "error.py", line 16, in my_function
for column in zip(*my_reader):
File "/usr/lib/python3.2/codecs.py", line 300, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xde in position 12: invalid continuation byte
我发现了相同的错误here,并给出了解决方法。
但是,我很难使这个解决方案适应我的代码。。。我试过几种方法column = unicode(column, errors = 'replace')
但还是不行。在
你能帮帮我吗?在