无法将csv文件读入熊猫

时间:2020-09-21 22:39:24

标签: pandas dataframe csv

嗨,我有一个csv文件,看起来像这样

enter image description here

我正在用这个把它读入熊猫

data1 = pd.read_csv(project+dataitem1+'.csv', header=0, delimiter=',',names=['Name', 'companyId', 'Industry', 'Filing Date', 'Instance Type', 'Fiscal End Date', 'Fiscal Year', 'Fiscal Quarter', 'Security'])

我无法正确阅读它!我尝试使用sep =','。我已经尝试过在放置标头并放入标头= 0的地方进行

当我进入python解释器并输入

data1 ['名称']

我明白了

Norman Hay plc                                         875412
HDFC Bank Limited                                      101677
Indigo Properties Australia Limited                  11368636

当我期望的时候:

Norman Hay plc                                         
HDFC Bank Limited                                      
Indigo Properties Australia Limited

当我在记事本中打开文件时,这就是我得到的:

Norman Hay plc,875412,化学,2008-09-19 00:00:00.000,原始 Instance,2008-03-31 00:00:00.000,2008,1,LTM,普通股

因此有一个逗号,但似乎没有阅读第一个逗号。为什么会这样?

1 个答案:

答案 0 :(得分:0)

标头计数小于数据列计数。还可以将None用作标头参数。

尝试以下代码:

ss = '''
Norman Hay plc,875412,Chemicals,2008-09-19 00:00:00.000,Original Instance,2008-03-31 00:00:00.000,2008,1,LTM,Ordinary Shares
'''.strip()

with open ('data.csv','w') as f: f.write(ss)  # write test file

###################################

import pandas as pd
data1 = pd.read_csv('data.csv', header=None, sep=',',names=['Name', 'companyId', 'Industry', 'Filing Date', 'Instance Type', 'Fiscal End Date', 'Fiscal Year', 'Fiscal Quarter', 'Security','Share Type'])

print(data1.to_string(index=False))

输出

           Name  companyId   Industry              Filing Date      Instance Type          Fiscal End Date  Fiscal Year  Fiscal Quarter Security       Share Type
 Norman Hay plc     875412  Chemicals  2008-09-19 00:00:00.000  Original Instance  2008-03-31 00:00:00.000         2008               1      LTM  Ordinary Shares