小编Jer*_*ron的帖子

为什么Python 2.7.3认为我的.csv文档都在一行?

我是编程的新手,我在一些课程中遇到了一个我无法理解的问题.考虑一个名为'example.csv'的虚构文件,其中包含以下内容.

Key1,Value1
Key2,Value2
Key3,Value3
...
Run Code Online (Sandbox Code Playgroud)

如果我运行以下代码,它会打印文件中的每一行,然后在最后一行打印一个星号.我希望它打印每个用星号分隔的行.

infile = open("example.csv", "r")
for line in infile:
    print line.strip()
    print '*'
    #row_elements = line.split(",")
    #print row_elements
Run Code Online (Sandbox Code Playgroud)

此外,如果我尝试通过删除上面代码中的哈希值来分割每个逗号的行,我得到以下输出.

['Key1', 'Value1\rKey2', 'Value2\rKey3'...
Run Code Online (Sandbox Code Playgroud)

通过将"\ r"传递给.split()方法,输出稍有改进.

['Key1,Value1', 'Key2,Value2'...
Run Code Online (Sandbox Code Playgroud)

我仍然不明白为什么python认为整个文件首先都在一行上.有没有人对此有所了解?

python csv for-loop line-endings python-2.7

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

csv ×1

for-loop ×1

line-endings ×1

python ×1

python-2.7 ×1