簡體   English   中英

Python:如何使用 pandas 錯誤保護讀取 csv/xlsx 文件

[英]Python: How to error protect reading a csv/xlsx file with pandas

Python 和 pandas 的新手。 我喜歡 pandas 因為它,就我目前的需要而言,很容易讀寫 excel 表。

但是,我喜歡嘗試閱讀,例如我用於“普通”文件的以下代碼。

filename = "./_csv/Orders.xlsx"
_sheetname = "Orders"
try:
 with open(filename, 'r') as f:
  content = f.read()
  if not content:
     print("no data in file " + fileName)
     #do create a new datagram
  with open(fileName, 'w') as outp:
     # add more content
     add_more_content()
     outp.write(content)
except IOError as e:
    print("I/O error({0}): {1}".format(e.errno, e.strerror))
except:
    print("Unexpected error:", sys.exc_info()[0])

但是我想在使用 pandas 打開 csv 或 xlsx 文件時使用類似的東西。

result = pandas.read_excel("./_csv/Orders.xlsx", sheet_name="Orders",  header=None)

我應該如何繼續嘗試和使用?

filename = "./_csv/Orders.xlsx"
_sheetname = "Orders"
try
  with ?? pandas.read_excel(filename, sheet_name=_sheetname,  header=None) as ???
   add_more_content()
   #and save it.
except IOError as e:
  print("I/O error({0}): {1}".format(e.errno, e.strerror))
except:
  print("Unexpected error:", sys.exc_info()[0])

通過我所做的一切嘗試,我得到“意外錯誤:<class 'AttributeError'>”。

目前,如果文件存在並且是否有內容,我會檢查類似於第一個頂級示例代碼的內容,但是當我必須讀取 400Mb 的數據時,這當然是昂貴的。

我在 Pandas 文檔中看到沒有樣本或任何關於此的注釋。 有什么建議么?

這就是你的做法:

import pandas as pd

filename = "./_csv/Orders.xlsx"
_sheetname = "Orders"

try:
    df= pd.read_excel(filename, sheet_name=_sheetname,  header=None)
except FileNotFoundError as e:
    print("FileNotFoundError({0}): {1}".format(e.errno, e.strerror))
except pd.errors.EmptyDataError as e:
    print(e)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM