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

2024-05-13 06:02:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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

Tags: 文件csv脚本partysentencesubject逗号na
2条回答

我建议使用csv模块。你知道吗

import csv

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

使用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指出的,该文件还有其他问题,特别是使用了不平衡的引号。你知道吗

相关问题 更多 >