Python 3.x 来自url的数组-仅NaN值
我在尝试从url下载数据并使用pandas将其放入数组时遇到了一个小问题: 当我简单地执行以下操作时:Python 3.x 来自url的数组-仅NaN值,python-3.x,pandas,download,Python 3.x,Pandas,Download,我在尝试从url下载数据并使用pandas将其放入数组时遇到了一个小问题: 当我简单地执行以下操作时: EUR\u USD\u TICK=pd.read\u csv('https://tickdata.fxcorporate.com/EURUSD/2015/1.csv.gz) 我得到这个错误: CParserError:标记数据时出错。C错误:第14行预期有2个字段,saw 3 我认为这是因为从url检索到的数据是压缩的 所以我尝试将压缩设置为gzip: EUR\u USD\u TICK=pd.
EUR\u USD\u TICK=pd.read\u csv('https://tickdata.fxcorporate.com/EURUSD/2015/1.csv.gz)
我得到这个错误:
CParserError:标记数据时出错。C错误:第14行预期有2个字段,saw 3
我认为这是因为从url检索到的数据是压缩的
所以我尝试将压缩设置为gzip:
EUR\u USD\u TICK=pd.read\u csv('https://tickdata.fxcorporate.com/EURUSD/2015/1.csv.gz“,compression='gzip')
执行此操作时,我没有收到错误消息,但是,数组仅由NaN值组成:
D Unnamed: 1 Unnamed: 2
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
数组的长度与csv文件的长度相匹配,所以我不知道为什么数组是用NaN值归档的
有人知道我为什么会遇到这个问题吗
谢谢
Ps:我正在尝试下载的csv数据:
DateTime,Bid,Ask
01/04/2015 22:00:00.389,1.19548,1.19557
01/04/2015 22:00:00.406,1.19544,1.19556
01/04/2015 22:00:00.542,1.19539,1.19556
01/04/2015 22:00:00.566,1.19544,1.19556
文件中似乎有一些Python/pandas不喜欢的字符('\x00') 因此,我使用gzip模块手动读取文件,然后删除这些字符。之后,Pandas读取文件时不会出现问题
import pandas as pd
import requests
from io import StringIO,BytesIO
import gzip
r = requests.get('https://tickdata.fxcorporate.com/EURUSD/2015/1.csv.gz')
gzip_file = gzip.GzipFile(fileobj=BytesIO(r.content))
pd.read_csv(StringIO(gzip_file.read().decode('utf-8').replace('\x00','')))
文件中似乎有一些Python/pandas不喜欢的字符('\x00') 因此,我使用gzip模块手动读取文件,然后删除这些字符。之后,Pandas读取文件时不会出现问题
import pandas as pd
import requests
from io import StringIO,BytesIO
import gzip
r = requests.get('https://tickdata.fxcorporate.com/EURUSD/2015/1.csv.gz')
gzip_file = gzip.GzipFile(fileobj=BytesIO(r.content))
pd.read_csv(StringIO(gzip_file.read().decode('utf-8').replace('\x00','')))
嗯,我认为你不必担心压缩,因为当我尝试下载时,它会返回一个文件,但我找不到对其有效的编码。嗯,我认为你不必担心压缩,因为当我尝试下载时,它会返回一个文件,但我找不到对其有效的编码。