我是编程新手,在某些课程中遇到了一些问题,我无法理解。考虑一个名为'example.csv'的假想文件,其中包含以下内容。为什么Python 2.7.3会将我的.csv文件全部放在同一行上?
Key1,Value1
Key2,Value2
Key3,Value3
...
如果我运行下面的代码,它会打印文件中的每一行,然后在最后一行打印一个星号。我希望它打印每一行用星号隔开。
infile = open("example.csv", "r")
for line in infile:
print line.strip()
print '*'
#row_elements = line.split(",")
#print row_elements
此外,如果我尝试通过删除上述代码中的哈希来拆分每个逗号的行,我会得到以下输出。
['Key1', 'Value1\rKey2', 'Value2\rKey3'...
通过将“\ r”传递给.split()方法,输出略有改进。
['Key1,Value1', 'Key2,Value2'...
我还是不明白为什么python认为整个文件全部放在一行上。有没有人对此有所了解?
它并不认为它是全部在一个实况上,你的行尾是'\ r \ n'而不是'\ n'。 – Joe 2013-03-07 01:44:54
不,他的行尾是''\ r''。为什么要这样呢? @Jeremy,你在用什么操作系统?什么程序创建了CSV文件? – 2013-03-07 01:45:24
我的猜测仍然是'\ r \ n',因为在第一个输出示例中,它显示空格和'\ n'丢失。尝试使用open(“example.csv”,“rU”)' – Joe 2013-03-07 01:49:36