[英]Python using type in place of cat
我目前正在閱讀 Wes McKinney 的 Python for Data Analysis 一書。 我在他第 6 章的一個例子中遇到了問題。
他進入 Jupyter:
!cat examples/cs1.csv
a,b,c,d,message
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
后面有一個簡短的框,說明如果您使用的是 Windows,請使用 type 命令代替 cat。 我輸入了以下內容:
!type examples/ex1.csv
a,b,c,d,message
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
但得到一個錯誤:“NameError: name 'a' 未定義。”
對於此實例,如何使用 type 命令代替 cat ? 在 Windows 10 上運行 Python 3.6.5。
命令是!type examples/ex1.csv
。 其余四行是相關文件的內容。
在最簡單的用法中,windows type
和 Unix cat
命令將參數中命名的文件的內容輸出到標准輸出。
前綴!
告訴 IPython/Jupyter 將行的其余部分發送到系統 shell 而不是 Python 解釋器。
通常,當顯示具有輸入和輸出的整個會話時,會給出某種指示,即哪些行是輸入,哪些是輸出。 IPython 會話通常以In[1]:
為輸入前綴,以Out[1]:
為輸出前綴。 普通 Python 會話通常使用>>>
前綴輸入。 在這種情況下,似乎讓用戶根據上下文進行推斷。
有趣的是,以下純 Python 代碼將具有相同的結果:
with open('examples/ex1.csv') as f:
for line in f:
print(line)
或者
with open('examples/ex1.csv') as f:
print(f.read())
我們正在閱讀同一本書。 我現在已經開始了第 6 章。
您收到此錯誤,我使用以下語法解決了它:
!type examples\ex1.csv
注意反斜杠。
希望這可以幫助。
!type+path 用於讀取已存在的數據,而不是將數據寫入文件。
以下內容是您從 CSV 文件中讀取的內容,您不應鍵入此內容。
a,b,c,d,message 1,2,3,4,hello 5,6,7,8,world 9,10,11,12,foo
你可以從 GitHub 下載這些 csv 文件
我最近閱讀了 Wes McKinney 的 Python for Data Analysis 的第 6 章。 Wes 使用!type examples/ex1.csv
用於 Unix 環境。
對於 Windows,忽略 Unix 代碼,而是使用pd.read_csv('examples/ex1.csv')
讀取 csv 文件。
您可以創建自己的ex1.csv
文件或在 Wes 的GitHub頁面上下載本書的支持文件。
如果您有更新的 jupyter 版本,則可以使用 %pycat。 它會將結果顯示為瀏覽器中的頁腳窗口,雖然不理想,但至少您可以看到結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.