我想使用熊猫将在线的csv文件保存到我的计算机上。请帮忙。
这是我的代码:
import pandas as pd
url = "https://people.sc.fsu.edu/~jburkardt/data/csv/airtravel.csv"
df = pd.DataFrame(url)
df.to_csv(r"C:\Users\hp\Documents\files.csv")"
这是我得到的错误:
ValueError Traceback (most recent call last)
<ipython-input-8-8d02ffbff077> in <module>
2
3 url = "https://people.sc.fsu.edu/~jburkardt/data/csv/airtravel.csv"
----> 4 df = pd.DataFrame(url)
5 df.to_csv(r"C:\Users\hp\Documents\files.csv")
6
~\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
483 )
484 else:
--> 485 raise ValueError("DataFrame constructor not properly called!")
486
487 NDFrame.__init__(self, mgr, fastpath=True)
ValueError: DataFrame constructor not properly called!
您需要使用pd.read_csv()
功能,而不是通过使用pd.DataFrame()
创建数据框。后者仅在从某个数据结构(如数组或字典)实例化时才会创建一个数据帧。
第一个将从您的URL中读取数据框。
尝试使用
url = pd.read_csv("https://people.sc.fsu.edu/~jburkardt/data/csv/airtravel.csv")
df = pd.DataFrame(url)
display(url)
或者您可以将URL读取为字符串
import io
import requests
url="https://people.sc.fsu.edu/~jburkardt/data/csv/airtravel.csv"
string = requests.get(url).content
data = pd.read_csv(io.StringIO(string.decode('utf-8')))
df = pd.DataFrame(data)
display(df)
输出
Month "1958" "1959" "1960"
0 JAN 340 360 417
1 FEB 318 342 391
2 MAR 362 406 419
3 APR 348 396 461
4 MAY 363 420 472
5 JUN 435 472 535