【问题标题】:jython connection to csv filejython 连接到 csv 文件
【发布时间】:2011-02-22 05:01:06
【问题描述】:

嗨 我有一个读取 csv 文件的代码

import csv
d = csv.reader(open('C:/Documents and Settings/242481/My Documents/file.csv'))
for row in d:
    print row

此代码返回 csv 文件中的所有行 有什么办法可以一次读一行。 每次执行打印行时,我都需要获取下一行。 提前致谢 阿迪思

【问题讨论】:

    标签: python csv jython


    【解决方案1】:

    它应该按照您的方式工作,但 EOL 字符可能不是您所使用的系统所期望的。尝试用 'rU' 打开它: open('file.csv', 'rU')

    要验证它一次打印一行,您可以在行之间打印一个空行:

    
    for row in d:
     print row
     print
    

    或暂停:

    对于 d 中的行: 打印行 raw_input('继续->')

    对于您的其他代码,它应该类似于:

    
    def value():
     infile=open("C:/Documents and Settings/242481/My Documents/file.csv", "rU")
     data = [row for row in infile]
     infile.close()
     return data
    

    始终关闭您打开的文件。这是一种很好的做法,尽管并不总是绝对必要的。 'file' 是一个 Python 类名。尽管您可以按照自己的意愿使用它们,但这样做可能会导致以后难以发现错误。

    【讨论】:

    • Oki 在使用 'rU' 打开 csv 文件后如何打印行。?一次打印一行应该执行什么命令?
    • 与您的代码已有的方式相同。只需将 rU 添加到您的开放语句中,其他一切都保持不变
    • 它仍在打印整个 csv 文件。
    • no..它同时给出所有行..我想要的是每次执行打印行语句时只打印一行 excel 文件。
    • 嘿,我有这段代码: def value(): file=open("C:/Documents and Settings/242481/My Documents/file.csv") for row in file: return row但是当我运行它时,它只返回文件的第一行。我需要它来返回所有行.....
    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多