Python:CSV文件未正确读取

Python:CSV文件未正确读取,python,csv,printing,filereader,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

我正在尝试读取.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年开始阅读,为什么第一行印刷得不完整吗


提前谢谢

对我来说,这个脚本使用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']

对我来说,这个脚本使用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']

您的问题中是否缺少一个
[
'J',冰岛',荷兰',2']
?不,这是我运行代码时得到的确切输出。请尝试打印(str(l)),我非常怀疑这是输出。看起来你缺少了
[
。因为
[
这里是列表,它不是来自文件。谢谢你,但utf-8和打印(str(l))都不起作用。事实上,我几乎每次运行代码时都会得到不同的结果。现在,它是us',1']['1996',J',爱尔兰',爱沙尼亚',2']['1996','J','Ireland','Finland','0']['1996','J','Ireland','France','0']您的问题中是否缺少一个
[
'J','Ireland','Netherlands','2']
这里?不,这是我运行代码时得到的确切输出。尝试打印(str(l))我非常怀疑这是输出。看起来您缺少
[
。因为
[
这里是列表,它不是来自文件。谢谢你,但utf-8和打印(str(l))都不能起作用。事实上,我几乎每次运行代码时都会得到不同的结果。现在,它是美国、1']['1996'、J'、爱尔兰、爱沙尼亚、2']['1996'、J'、爱尔兰、芬兰、0']['1996','J','Ireland','France','0']我正在使用Python 3.7。然后它很奇怪;我粘贴了我的输出。文件中可能有简单的空白(行)空间。没有,但我发现问题在于终端,我的文件可能有点太大。无论如何,谢谢你!我正在使用Python 3.7。然后它很奇怪;我粘贴了我的输出。你有简单的空白(行)空间吗文件中可能有空格。没有,但我发现问题出在终端,我的文件可能有点太大了。无论如何,谢谢!