0

我正在尝试分解一个长文件路径,以便我可以阅读它而无需移动屏幕来查看它。

edgelist = pd.read_csv(r'https://gist.githubusercontent.com/brooksandrew' /
                   r'/e570c38bcc72a8d102422f2af836513b/raw' /
                   r'/89c76b2563dbc0e88384719a35cba0dfc04cd522' / 
                   r'/edgelist_sleeping_giant.csv')

但是,我收到此错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-4-a0ff45f0f7db> in <module>
      2 edgelist = pd.read_csv(r'https://gist.githubusercontent.com/brooksandrew' /
      3                        r'/e570c38bcc72a8d102422f2af836513b/raw' /
----> 4                        r'/89c76b2563dbc0e88384719a35cba0dfc04cd522' /
      5                        r'/edgelist_sleeping_giant.csv')
      6 edgelist.head(10)

我看过其他一些堆栈帖子,但我不明白它们。我尝试了多种删除正斜杠和重新定位引号的组合,但我认为我只是抓住了稻草。我想要一个技术解释我为什么会收到这个错误。

顺便说一句,在没有结束 [隔离] 正斜杠(在第 2、3 和 4 行)的一行上编写加载语句是可行的,但是如果不滑动屏幕视图,我就看不到整个语句。我正在寻找一种在一个视图中可读的东西。

4

1 回答 1

1

Python 中的续行用反斜杠表示,您一直在使用正斜杠。

这应该按预期工作:

edgelist = pd.read_csv(r'https://gist.githubusercontent.com/brooksandrew' \
                       r'/e570c38bcc72a8d102422f2af836513b/raw' \
                       r'/89c76b2563dbc0e88384719a35cba0dfc04cd522' \
                       r'/edgelist_sleeping_giant.csv')

由于 URL 本身没有反斜杠,因此您不需要使用原始字符串文字,只需使用标准字符串文字即可:

edgelist = pd.read_csv('https://gist.githubusercontent.com/brooksandrew' \
                       '/e570c38bcc72a8d102422f2af836513b/raw' \
                       '/89c76b2563dbc0e88384719a35cba0dfc04cd522' \
                       '/edgelist_sleeping_giant.csv')

您甚至可以删除引号,但是所有空格也需要删除,因为它们将成为结果字符串的一部分(并且不再是正确的 URL):

edgelist = pd.read_csv('https://gist.githubusercontent.com/brooksandrew\
/e570c38bcc72a8d102422f2af836513b/raw\
/89c76b2563dbc0e88384719a35cba0dfc04cd522\
/edgelist_sleeping_giant.csv')
于 2019-02-20T13:44:17.083 回答