如何编写Python脚本以正确打开csv文件

时间:2015-03-30 10:18:44

标签: python csv

我有一个csv文件,我无法正常阅读,因为它不是以逗号分隔,而是有分号,因此我无法将其作为表格读取。

您知道我是否可以编写脚本以便正确查看? 下面我输入了我如何阅读文件的一部分。

;"sid";"aid";"sentnr";"parnr";"sentence";"Subject.party";                                               
1;43160789;74861000;1;1;"Officieel „aanzoek"" namens                                                  
2;43160790;74861000;1;2;"Van onze parlementaire redactie  NA;NA;NA;NA;NA;NA;NA                                      
3;43160791;74861000;2;2;"Hierdoor is de opvolging van                                                   
4;43160792;74861000;3;2;"Dr. Samkalden had in ;NA;NA;NA;NA;NA;NA;NA                                             
5;43160793;74861000;4;2;"In het kabinet-Bi                                  
6;43160794;74861000;5;2;"_";NA;NA;NA;NA;NA;NA;NA

2 个答案:

答案 0 :(得分:1)

我建议使用csv模块。

import csv

with open('file.csv', 'r') as f:
    reader = csv.reader(f, delimiter=';')
    data = list(reader)

答案 1 :(得分:1)

delimiter参数用于csv.reader();

import csv

with open('your_file.csv') as f:
    reader = csv.reader(f, delimiter=';')
    _ = next(reader)    # skip header row
    for row in reader:
        print row

<强>输出

['1', '43160789', '74861000', '1', '1', 'Officieel \xc3\xa2\xe2\x82\xac\xc5\xbeaanzoek" namens\n2;43160790;74861000;1;2;Van onze parlementaire redactie  NA', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA']
['3', '43160791', '74861000', '2', '2', 'Hierdoor is de opvolging van\n4;43160792;74861000;3;2;Dr. Samkalden had in ', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA']
['5', '43160793', '74861000', '4', '2', 'In het kabinet-Bi\n6;43160794;74861000;5;2;_"', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA']

此代码将根据需要分割分号上的字段,但是,正如EdChum所指出的,该文件还存在其他问题,特别是使用不平衡的引号。