Py学习  »  Python

如何在python中读取csv文件?

Erin H • 5 年前 • 1698 次点击  

我需要读一本 csv 文件(命名 CityPop.csv )这是我的密码:

import csv

with open ('CityPop.csv', 'r') as f:
    read_data = f.read()
    for line in f:
        record=line.strip().split(",")
print read_data

f.close()

但当我试着运行它时,什么也没有输出。

我不知道该如何继续,这只会导致我需要完成的更高级的任务,如果我连这个都搞不清楚的话,这是很困难的。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39971
 
1698 次点击  
文章 [ 5 ]  |  最新文章 5 年前
John M
Reply   •   1 楼
John M    6 年前
import csv

with open('CityPro.cvs') as f:
    r = csv.reader(f, delimiter=',')
    for line in r:
            print(line)
    f.close()
Ralf
Reply   •   2 楼
Ralf    6 年前

我建议您遵循python文档中的示例 csv module :

import csv
with open('CityPop.csv') as f:
    csv_reader = csv.reader(f, delimiter=', ')
    for row in csv_reader:
        print ', '.join(row)

分析代码时,有几个问题:

  1. 你不需要打电话 f.close() 如果你使用 with 语句,退出时将自动关闭文件。 具有
  2. 你的打印报表应该放在 具有 块,作为变量 read_data 是在里面定义的
  3. 你需要迭代 读取数据 ( for line in read_data: ),因为你已经用过 f.read() 所以迭代 f 不会屈服的
  4. 你正在覆盖 record 每次,我都不知道你为什么要这样
AndyK
Reply   •   3 楼
AndyK    6 年前

您已导入 csv 但从未使用过。 所以尝试 read_data = csv.reader(f)

user7199416
Reply   •   4 楼
user7199416    6 年前

使用pandas库读取csv文件的更简单方法-

import pandas

df = pandas.read_csv('CityPop.csv')

print(df)

或者你可以尝试修改你的代码如下-

import csv

with open ('CityPop.csv', 'r') as f:

  read_data = csv.reader(f,delimiter=',')

  for row in read_data:

            print(row)
Anagnostou John
Reply   •   5 楼
Anagnostou John    6 年前

尝试此代码

import csv

    with open ('CityPop.csv', 'r') as f:
        reader = csv.reader(f, delimiter=",")
        #read_data = f.read()
        for line in reader:
            print(line)
            #record=line.strip().split(",")
    #print (read_data)

    f.close()

编辑 正如拉尔夫所说 “ f.close() 使用WITH块时不需要”