python - Python:CSV 文件未正确读取
问题描述
我正在尝试读取 .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']
推荐阅读
- java - 如何使 clang-format 实际上破坏 Java 中的字符串文字?
- lua - 在 Pandoc 过滤器中嵌套额外的 Span 会使图像消失
- oauth-2.0 - 服务器使用 WSO2 身份服务器获取带有访问令牌的刷新令牌
- r - 使用 R 中的非线性最小二乘法优化参数值(带积分)
- sendgrid - SendGrid Incoming Parse WebHook 服务器的静态 IP 地址是什么?
- json - 在 Swift 5 中解析 JSON
- android - 与 Presenter 进行数据绑定
- java - 对于大文件(20G),GoogleCloudStorage Java API 比 gsuitl cp 慢得多
- r - 每个 ID 的重叠日期的总和值
- apache-poi - POI不复制ppt幻灯片笔记