7

我正在尝试将导入csv文件中的一些列复制到,selected.csv但它给了我这个错误:

'ValueError: Usecols do not match columns, columns expected but not found: ['Status']'; 

不管我使用哪个列名,它仍然不起作用。我尝试打印标题并正常显示它们,我什至尝试从那里复制列名,所以如果可能有我错过的空格或其他东西,但它仍然给我同样的错误。我已经搜索了答案,但我找到的答案都不适合我。

import pandas as pd
import numpy as numpy
import csv as csv

path_to_import ='C:/Users/Amila/hello/Auftraege_ALSO_R00.csv'

import_file = pd.read_csv(path_to_import, sep=';',engine='python',encoding='utf-8-sig')

headers = pd.read_csv(path_to_import, index_col=0, nrows=0).columns.tolist()

columns = ['Status']

path_to_selected = 'C:/Users/Amila/hello/selected.csv'

pd.read_csv(path_to_import,usecols=columns).to_csv('selected.csv', index=False)

这些是打印的列名:

['Auftragsdatum;"Auftrags-Nr.";"Ihre Referenz";"Auftragswert";"Auftragsstatus";"Lieferadresse";"Pos.";"Menge";"Art.Nr.";"Herst.Nr.";"Produktname";"Ihre Referenz (Position)";"Netto / Stk.";"Rechn.-Nr.";"Liefers.-Nr.";"Serien-Nr.";"Status";"Hersteller"']
4

1 回答 1

7

您的代码有不一致之处:

pd.read_csv(path_to_import,usecols=columns).to_csv('selected.csv', index=False)

你没有通过相同的sep参数,它应该是

pd.read_csv(path_to_import,usecols=columns, sep=';').to_csv('selected.csv', index=False)

另外在您的标题行中:

headers = pd.read_csv(path_to_import, index_col=0, nrows=0).columns.tolist()

您已通过index_col=0此方法将第一列视为与其他行不一致的索引列,因此请将其删除:

headers = pd.read_csv(path_to_import, nrows=0).columns.tolist()
于 2019-04-04T10:48:48.240 回答