raj*_*ajn 3 python urllib pandas
我在尝试从此特定 URL 下载数据并将其存储在 Pandas 数据框中时遇到问题。有人能帮忙吗?
url ='http://www2.conectiv.com/cpd/tps/archives/nj/2017/12/20171205NJA1.txt'
Run Code Online (Sandbox Code Playgroud)
我需要将每个存储Segment为一行,并在单独的列中使用相应的数字。所以,我需要这种格式:
NJAAP, 12/5/2017, 37.63, 36.34, 35.97,..., 38.52
NJAAS, 12/5/2017, 37.63, 36.34, ... etc
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
import pandas as pd
from urllib.request import urlopen
df = pd.read_csv(url, skiprows=4)
Run Code Online (Sandbox Code Playgroud)
但是,我没有得到我想要的。我得到了这个:
Segment:NJAAP 12/05/2017 37.63 36.34 35.97 35.76 36.71 39.90 46.36 52.49 56.16 58.41 58.98 59.60 59.58 58.52 57.40 54.34 53.90 53.15 51.44 49.49 46.96 44.12 41.02 38.52
0 Segment:NJAAS 12/05/2017 ...
1 Segment:NJADC 12/05/2017 ...
2 Segment:NJAGN 12/05/2017 ...
3 Segment:NJAGT 12/05/2017 ...
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?谢谢
read_csv()有很多有用的选项
header=None - 第一行不被视为标题。sep='\s+'- 它使用空格来分割列(而不是逗号,)。它是正则表达式。.
import pandas as pd
url ='http://www2.conectiv.com/cpd/tps/archives/nj/2017/12/20171205NJA1.txt'
df = pd.read_csv(url, skiprows=4, header=None, sep='\s+')
Run Code Online (Sandbox Code Playgroud)
加载数据后,您可以更改列中的值。
这Segments:在第一列中删除
df[0] = df[0].str.replace('Segment:', '')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3594 次 |
| 最近记录: |