用非常糟糕的标题读取csv

时间:2016-06-27 10:30:21

标签: python io header

我正在从文件中读取CSV。我的标题有问题。

假设我有:

CUSTOMER_NO;CASEWHENDWH_ADM.DIM_CUSTOMER_EXT.CUSTOMER_ACT_STATE='0'THENDECODE(DWH_ADM.DIM_CUSTOMER_EXT.CUSTOMER_STATE,'XX','UNKNOWN',DWH_ADM.DIM_CUSTOMER_EXT.CUSTOMER_STATE)ELSEDWH_ADM.DIM_CUSTOMER_EXT.CUSTOMER_ACT_STATEEND;CUSTOMER_ACT_ZIP;BIRTH_CITY;BIRTH_STATE;
5180222;RM;00034;COLLEFERRO;ITALIA;
4341121;RO;45027;TRECENTA;ITALIA

read_csv函数(pandas库)在工作中遇到一些麻烦。我应该对函数说:

  

"注意!阅读标题的字段,以';'分隔; "

。有没有办法做到这一点(在文档中我没有找到任何东西)。

2 个答案:

答案 0 :(得分:0)

对不起。我已经用最简单的方式解决了:

pandas.read_csv('myFile.csv', delimiter = ';')

该参数适用于文件和标题。我以为"逗号分隔符"是默认值,但可能不是。

答案 1 :(得分:0)

我认为你可以尝试OpenCSV

但是,您可以将分隔符设置为([;]),而不是使用其默认分隔符([,])。

示例代码:

try (final CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), ';', CSVParser.DEFAULT_QUOTE_CHARACTER, CSVParser.NULL_CHARACTER))) {
    String [] nextLine;
    while ((nextLine = reader.readNext()) != null) {
        // nextLine[] is an array of values from the line
        System.out.println(nextLine[0] + nextLine[1] + "etc...");
    }
}