【发布时间】:2015-11-17 18:23:09
【问题描述】:
我有一个 csv 文件,格式为:
date, open, high, low,..
22-11-14, 660.6, 15.1, 12.6
22-11-13, 569.6, 13.1, 10.2
22-11-12, 716.0, 18.6, 13.2
....
当用 csv.DictReader 打开文件,然后逐行读取数据时,它会跳过标题日期,打开等;但它也跳过了第一行数据??日期 22-11-14 的数据被跳过,它从 22-11-13 开始? 这是我的代码,有人知道这是为什么以及如何解决吗?
types = [("Date", str), ("Open", float), ("High", float),
("Low", float), ("Close", float), ("Volume", int), ("Adj Close", float)]
input_file = csv.DictReader(open("googlePrices.csv"))
dataList = []
for rows in input_file:
rows.update((key, conversion(rows[key])) for key, conversion in types))
rows['Date'] = time.strptime(rows['Date'], '%Y-%m-%d')
dataList.append(rows)
所以在 datalist 列表中,第一个元素是 22-11-13 的数据,然后从那里完美运行.. 但我需要将 22-11-14 放入列表中??
【问题讨论】:
-
文件是否有混合行结尾?我见过在 OS X 上创建的文件,其中标题行以
\r结尾,因此标题和第一行被视为单行。 -
我不完全确定.. 我怎样才能找到它??
-
您可能需要在能够显示行尾的文本编辑器中打开文件。这将取决于您的操作系统。
-
如果你有记事本++,你可以在文本文件中显示换行符/显示所有字符。如果你没有记事本++...获取记事本++:P
-
我用记事本++打开它,在每一行的末尾都有“LF”粗体