如何在Python中读取csv文件?

时间:2018-10-24 09:08:27

标签: python python-2.7 csv printing

我需要读取一个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()

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

我不确定如何继续;这只会导致我需要完成更高级的任务,如果我什至无法弄清楚,这将是困难的。

5 个答案:

答案 0 :(得分:1)

尝试此代码

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()

编辑 正如拉尔夫所说 “使用with块时{f.close()不是必需的”

答案 1 :(得分:1)

使用熊猫库读取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)

答案 2 :(得分:0)

您已经导入了csv模块,但从未使用过。 因此,请尝试@click="setFocus"

答案 3 :(得分:0)

我建议您遵循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,退出with块时文件将自动关闭
  2. 您的打印语句应放在with块中,因为变量read_data是在其中定义的
  3. 您将需要迭代read_datafor line in read_data:),因为您已经使用过f.read(),因此迭代f不会产生任何结果
  4. 您每次都覆盖record,所以我不知道您为什么要这么做

答案 4 :(得分:0)

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.4</version>
</dependency>