解决read_csv的长文件路径的线路延续错误问题

问题描述 投票:0回答:1

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

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行)上的一行上写入load语句有效,但是我没有滑动屏幕视图就看不到整个语句。我在一个视图中寻找可读的东西。

pandas csv line-continuation
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')
© www.soinside.com 2019 - 2024. All rights reserved.