我是編程新手,在某些課程中遇到了一些問題,我無法理解。考慮一個名爲'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