0
我的程序讀取一個csv文件,但最近輸入文件被更改爲base64編碼。所以,目前的讀代碼:python過濾輸入到csv.reader
with open(uploadFile, 'rb') as csvfile:
spreadSheet = csv.reader(csvfile, delimiter=',')
我知道CSV是一個文件描述符,這不能做,但我想要做的事,如:
import base64
with open(uploadFile, 'rb') as csvfile:
spreadSheet = csv.reader(bas64.decode(csvfile), delimiter=',')
也就是說文件輸入將被base64解碼,就像在一個管道中,然後解析爲一個csv文件。
我可以讀取文件解碼它寫回到另一個文件,然後用csv閱讀器讀取該文件,但似乎應該有一種方法來做它的管道序列。
解碼的字符串(類型的Unicode)我認爲csv.reader的第一個參數必須是一個文件名?我在尋找的是一種將輸入文件描述符通過過濾器(base64)運行其輸出的方法,然後從其輸出創建另一個文件描述符。好處是你可以使用這個描述符來說打開微軟電子表格,用xlrd – Keir
也許像popen這樣的東西? – Keir