Python:CSV文件无法正确读取

时间:2019-10-09 17:04:51

标签: python csv printing filereader

我正在尝试读取.csv文件并打印其内容(行)。它似乎仅在文件中间的某处开始打印。 .csv文件的内容为:

1975,J,Belgium,Finland,0
1975,J,Belgium,France,2
1975,J,Belgium,Germany,0
1975,J,Belgium,Ireland,12
1975,J,Belgium,Israel,1
1975,J,Belgium,Italy,6
1975,J,Belgium,Luxembourg,0
1975,J,Belgium,Malta,7
1975,J,Belgium,Monaco,0
1975,J,Belgium,Norway,0
1975,J,Belgium,Portugal,0
1975,J,Belgium,Spain,4
1975,J,Belgium,Sweden,0

此列表持续到今年(2019年),国家/地区也发生了变化。 当我运行此代码时:

import csv

def read_file(file_name):
    f = open(file_name, "rt", encoding="utf8")
    for l in csv.reader(f):
        print(l)

if __name__ == "__main__":
    read_file('myfile.csv')

我得到以下输出:

 'J', 'Iceland', 'The Netherlands', '2']
 ['1996', 'J', 'Iceland', 'Turkey', '0']
 ['1996', 'J', 'Iceland', 'United Kingdom', '4']
 ['1996', 'J', 'Ireland', 'Austria', '8']
 ['1996', 'J', 'Ireland', 'Belgium', '0']
 ['1996', 'J', 'Ireland', 'Bosnia & Herzegovina', '0']
 ['1996', 'J', 'Ireland', 'Croatia', '6']
 ['1996', 'J', 'Ireland', 'Cyprus', '1']
 ['1996', 'J', 'Ireland', 'Estonia', '2']
 ['1996', 'J', 'Ireland', 'Finland', '0']
 ['1996', 'J', 'Ireland', 'France', '0']

,依此类推,直到文件结尾(2019年)。 关于它为什么从1996年开始阅读以及为什么第一行打印还没有完成的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

对我来说,该脚本可以运行,使用python3。您使用的是哪个版本

欢呼,达米尔

['1975', 'J', 'Belgium', 'Finland', '0']
['1975', 'J', 'Belgium', 'France', '2']
['1975', 'J', 'Belgium', 'Germany', '0']
['1975', 'J', 'Belgium', 'Ireland', '12']
['1975', 'J', 'Belgium', 'Israel', '1']
['1975', 'J', 'Belgium', 'Italy', '6']
['1975', 'J', 'Belgium', 'Luxembourg', '0']
['1975', 'J', 'Belgium', 'Malta', '7']
['1975', 'J', 'Belgium', 'Monaco', '0']
['1975', 'J', 'Belgium', 'Norway', '0']
['1975', 'J', 'Belgium', 'Portugal', '0']
['1975', 'J', 'Belgium', 'Spain', '4']
['1975', 'J', 'Belgium', 'Sweden', '0']