我正在尝试用熊猫读csv。我的文件开始如下:
Site,Tank ID,Product,Volume,Temperature,Dip Time
aaa,bbb,....
.....
我的阅读方式是:
df = pd.DataFrame()
date_col = ['Dip Time']
data = pd.read_csv(atg_path, delimiter=',', skiprows=[1], skipinitialspace=True,
dayfirst=True,
parse_dates=date_col)
此处跳过第一行数据。但是我需要。
如果我使用skiprows=[0]
,则某些列会出现错误,例如ValueError: 'Dip Time' is not in list
我不知道为什么?它不应跳过任何数据。怎么了?
答案 0 :(得分:-1)
我认为这里的参数skiprows
不是必需的,您可以忽略它。
但是如果传递0值,则表示don't skip any rows
:
skiprows=0
import pandas as pd
from io import StringIO
temp="""Site,Tank ID,Product,Volume,Temperature,Dip Time
aaa,bbb,ccc,ddd,eee,fff
a,b,c,d,e,f
"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp))
print (df)
Site Tank ID Product Volume Temperature Dip Time
0 aaa bbb ccc ddd eee fff
1 a b c d e f
temp="""Site,Tank ID,Product,Volume,Temperature,Dip Time
aaa,bbb,ccc,ddd,eee,fff
a,b,c,d,e,f
"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), skiprows=0)
print (df)
Site Tank ID Product Volume Temperature Dip Time
0 aaa bbb ccc ddd eee fff
1 a b c d e f
但是,如果通过[0]
,则意味着删除文件的第一行,这里是标头,意味着"skip the 0'th row, i.e. the headed row
:
temp="""Site,Tank ID,Product,Volume,Temperature,Dip Time
aaa,bbb,ccc,ddd,eee,fff
a,b,c,d,e,f
"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), skiprows=[0])
print (df)
aaa bbb ccc ddd eee fff
0 a b c d e f