使用熊猫阅读csv时如何指定行尾

时间:2018-10-08 09:37:16

标签: python pandas csv

我想读取一个看起来像这样的csv文件:

STATIONS_ID;MESS_DATUM;QN_9;TT_TU;RF_TU;eor
1975;2016032200;    3;   5.9;  89.0;eor
1975;2016032201;    3;   5.5;  86.0;eor
1975;2016032202;    3;   5.4;  87.0;eor
1975;2016032203;    3;   4.7;  90.0;eor
...

我使用:

import pandas as pd
stats = pd.read_csv('data/temp_fuhlsbuettel_akt.txt', sep=';')

结果是:

enter image description here

eor列看上去很烦人,我必须用以下方法消除它:

stats = stats.drop('eor', 1)

是否有一种更好的方法来读取此文件而不创建eor列?

2 个答案:

答案 0 :(得分:0)

您可以使用usecols参数,该参数接受位置整数索引或列名的列表。所以:

pd.read_csv('data/temp_fuhlsbuettel_akt.txt', sep=';', usecols=['STATIONS_ID', 'MESS_DATUM', 'QN_9', 'TT_TU', 'RF_TU'])

pd.read_csv('data/temp_fuhlsbuettel_akt.txt', sep=';', usecols=[0, 1, 2, 3, 4])  # or usecols=list(range(5))

答案 1 :(得分:0)

使用:

cols = list(pd.read_csv('data/temp_fuhlsbuettel_akt.txt', sep=';', nrows=1)) 
df = pd.read_csv('data/temp_fuhlsbuettel_akt.txt', sep=';', usecols=[i for i in cols if i != 'eor'])