簡體   English   中英

Python 使用 type 代替 cat

[英]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.

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