我正在尝试使用列名读取Dataframe中的最后一列,但是错误输出了 以下是我的代码
f = open('E:\Downloads\Goods&Transit.csv', 'rU')
readfile = csv.reader(f, delimiter = ';')
input_file = [list(line) for line in readfile]
headers = input_file.pop(0)
df = pd.DataFrame(list(input_file), columns= headers)
print df['Receivables']
f.close()
当我打印Receivables列时 - 它的抛出键错误(但数据框有该列)
打印标题:
['PO Number', 'PO Type', 'Location', 'Vendor Number', 'Product ID', 'Planned Delivery Date', 'Receivables
文本格式的csv文件
采购订单编号;采购订单类型;位置;供应商编号;产品编号;计划交货日期;应收款项
7000002174; DP06; 1006; 0000010055; P26220C00000E10; 2014年5月31日; 205.000-
7000001994; DP06; 1006; 0000010662; P60514X00000010; 2014年6月4日; 8000.000
7600000238; IM06; 1006; 0000020257; R87M45X06000020; 2014年4月30日; 4350.000
7600000238; IM06; 1006; 0000020257; R87M47F06000020; 15.04.2014; 2700.000
应收款管理系列有单引号 是导致任何问题的 任何帮助将不胜感激
答案 0 :(得分:1)
我建议直接使用Pandas的csv-reader:
filename = 'E:\Downloads\Goods&Transit.csv'
pd.read_csv(filename, sep= ';')
我不得不承认:通过开放式列表和列表列表,我也会遇到错误......
但直截了当的熊猫方式就像一个魅力:
s = 'PO Number;PO Type;Location;Vendor Number;Product ID;Planned Delivery Date;Receivables\n 7000002174;DP06;1006;0000010055;P26220C00000E10;31.05.2014;205.000-\n7000001994;DP06;1006;0000010662;P60514X00000010;06.04.2014;8000.000\n 7600000238;IM06;1006;0000020257;R87M45X06000020;30.04.2014;4350.000\n 7600000238;IM06;1006;0000020257;R87M47F06000020;15.04.2014;2700.000'
from io import StringIO
import pandas as pd
df = pd.read_csv(StringIO(s), sep=';')
df.head()
Out[1]:
PO Number PO Type Location Vendor Number Product ID \
0 7000002174 DP06 1006 10055 P26220C00000E10
1 7000001994 DP06 1006 10662 P60514X00000010
2 7600000238 IM06 1006 20257 R87M45X06000020
3 7600000238 IM06 1006 20257 R87M47F06000020
Planned Delivery Date Receivables
0 31.05.2014 205.000-
1 06.04.2014 8000.000
2 30.04.2014 4350.000
3 15.04.2014 2700.000
df.columns
Out[2]:
Index(['PO Number', 'PO Type', 'Location', 'Vendor Number', 'Product ID',
'Planned Delivery Date', 'Receivables'],
dtype='object')
df['Receivables']
Out[3]:
0 205.000-
1 8000.000
2 4350.000
3 2700.000
Name: Receivables, dtype: object