首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从csv中丢失第一行

从csv中丢失第一行
EN

Stack Overflow用户
提问于 2016-04-23 13:25:14
回答 3查看 965关注 0票数 3

我正在将一个.csv文件读取到dataframe ( CorpActionsDf )中,但是当我打印CorpActionsDf的头部时,我发现丢失了第一行数据:

.cvs数据主管:

代码语言:javascript
复制
BBG.XAMS.ASML.S 24/04/2015  0.7 Annual  Regular Cash
BBG.XAMS.ASML.S 25/04/2014  0.61    Annual  Regular Cash
BBG.XAMS.ASML.S 26/04/2013  0.53    Annual  Regular Cash
BBG.XAMS.ASML.S 26/11/2012  9.18    None    Return of Capital
BBG.XAMS.ASML.S 27/04/2012  0.46    Annual  Regular Cash

CorpActionsDf主管:

代码语言:javascript
复制
                       date  factor_value reference             factor
unique_id                                                             
BBG.XAMS.ASML.S  25/04/2014          0.61    Annual       Regular Cash
BBG.XAMS.ASML.S  26/04/2013          0.53    Annual       Regular Cash
BBG.XAMS.ASML.S  26/11/2012          9.18      None  Return of Capital
BBG.XAMS.ASML.S  27/04/2012          0.46    Annual       Regular Cash
BBG.XAMS.ASML.S  26/04/2011          0.40    Annual       Regular Cash

正如您所看到的,csv中的第一行数据从dataframe中丢失。

代码语言:javascript
复制
BBG.XAMS.ASML.S 24/04/2015  0.7 Annual  Regular Cash

我的代码如下:

代码语言:javascript
复制
def getCorpActionsData(rawStaticDataPath):
    pattern = 'CorporateActions'+ '.csv'
    staticPath = rawStaticDataPath

    with open(staticPath+pattern,'rt') as f:

        #staticDf=pd.read_csv(f,engine='c',header=0,index_col=0, parse_dates=True, infer_datetime_format=True,usecols=(0,3))
        CorpActionsDf=pd.read_csv(f,engine='c',header=0,index_col=0, parse_dates=True, infer_datetime_format=True,names=['unique_id', 'date','factor_value','reference','factor'])        
        print('CorpActionsDf')
        print(CorpActionsDf.head())

有人知道我错过了什么吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-23 13:33:24

你试过header=None而不是header=0吗?

Docu为header=0写的:

“如果没有传递名称,则默认行为设置为0,否则不传递。显式地传递header=0以替换现有名称。”

代码语言:javascript
复制
 CorpActionsDf=pd.read_csv(f,engine='c',header=None,index_col=0, parse_dates=True, infer_datetime_format=True,names=['unique_id', 'date','factor_value','reference','factor']) 
票数 1
EN

Stack Overflow用户

发布于 2016-04-23 13:35:11

对于None参数,您必须使用0而不是0。否则,您告诉代码将第0行视为包含标头的行,然后只将其替换为names参数。

代码语言:javascript
复制
CorpActionsDf=pd.read_csv(f,engine='c',header=None,index_col=0, parse_dates=True, infer_datetime_format=True,names=['unique_id', 'date','factor_value','reference','factor'])        
票数 2
EN

Stack Overflow用户

发布于 2016-04-23 13:35:53

我不确定你是否很好地使用了参数。我不认识熊猫,因为我使用的是Numpy,但是如果我看熊猫文献,我认为标题和名称参数都不是很好。

header = 0取代了现有的名称,因此您应该编写header = None

代码语言:javascript
复制
CorpActionsDf=pd.read_csv(f,engine='c',header=None,index_col=0, parse_dates=True, infer_datetime_format=True,names=['unique_id', 'date','factor_value','reference','factor']) 

试着说我好还是不好?否则,你可以用Numpy,我可以帮你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36811437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档