好吧,所以我正在閱讀一個excel工作簿。我讀了一段時間的文件,並且在調試之後開始執行.csv文件,並在代碼下執行其他操作,我向您展示它已更改爲xlsx。我開始獲取IOError,但沒有找到這樣的文件或目錄。我想出了爲什麼,並將FFA.csv更改爲FFA.xlsx,並且它沒有錯誤。然後我開始做其他事情並進行調試。今天早上起牀,現在我得到以下錯誤:行包含NULL字節。奇怪,因爲代碼開始良好。現在它無法閱讀。我放入打印repr()進行調試,它現在打印NULL字節。那麼我如何解決這個問題,並在將來防止它呢?這裏是第一個200個字節:爲什麼Python的csvreader先啓動,然後生成空字節?
PK\x03\x04\x14\x00\x06\x00\x08\x00\x00\x00!\x00b\xee\x9dh^\x01\x00\x00\x90\x04\x00\x00\x13\x00\x08\x02[Content_Types].xml \xa2\x04\x02(\xa0\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
import csv
def readFile():
count = 0
print repr(open("FFA.xlsx", "rb").read(200)) #dump 1st 200 bytes
with open("FFA.xlsx","rb") as csvfile:
FFAreader = csv.reader(csvfile, delimiter=",")
for row in FFAreader:
idd = row[0]
name = row[1]
pos = row[2]
team = row[3]
pts = row[4]
oecr = row[5]
oR = row[6]
posR = row[7]
up = row[8]
low =row[9]
risk = row[10]
swing = row[11]
readFile()
呃,.xlsx不是csv文件。它是一個包含多個xml和其他文件的zip文件。你正在閱讀二進制垃圾。 –
好吧,就像我說我只是改變它,因爲它似乎改變了自己,但它一直工作得很好。我將其更改回.csv,但仍然收到錯誤消息。然而,前200字節已變爲 –
這是現在的第一個200字節'playerId,玩家名,位置,團隊,積分,總ECR,總排名,排名排名,上排排排序,下排排排排排排排排排排排排排排排排序,104.896,245,979,16,165.7802,92.0755,4.0319,73.7047 \ r \ n2543501,Aaron Colvin,DB,JAC' –