我已经下载了一个数据集,详细介绍了1979年1月至2004年12月期间在英格兰报告的所有车祸事件 - 此文件位于csv格式,并且可以理解为非常大(准确地说,是6,224,199行)。由于文件大小超过Excel 2010可以处理的行数,因此我必须将文件拆分为更小的文件才能在Excel中同时打开它。我尝试使用记事本和记事本++,但记事本崩溃,并且Notepad ++拒绝打开如此大的(720MB)文件。我已考虑使用类似Delimit的Excel 替代,但它不支持宏。 现在,忽略大小问题,我需要计算每个月的崩溃总数,并记下它们。有一列用于指定每次崩溃的日期,但行不会根据崩溃日期进行排序。我正在考虑使用CTRL + F来计算具有特定月份/年份值的行数,然后记录每次搜索的结果数量,但考虑到数据跨越了25年,我必须手动搜索并记录从300个月结果。如何计算并记录具有特定月份/年份值的工作表中的行数
0
A
回答
0
我同意Jeanno和Brad的说法,对于这种类型的需求,Access是比Excel更好的工具。但是,我想知道用Excel读取这样一个大文件的尝试是否会有一个现实的持续时间。
我连接了一些大的文本文件来创建一个663 Mb的文件,我认为它足够接近。下面的宏读取文件的每一行,并将其分割为准备分析的字段。注意:我的文件使用“|”作为分隔符而不是“,”。
该宏在100秒内读取7,782,013条记录。 Access仍然是更好的选择,但是如果Access不可用,Excel是可行的。
注意:此宏需要引用“Microsoft脚本运行时”。
Sub ReadAndSplit()
Dim FileStream As TextStream
Dim FileSysObj As FileSystemObject
Dim Line As String
Dim LinePart() As String
Dim NumLines As Long
Dim TimeStart As Double
TimeStart = Timer
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
NumLines = 0
' 1 means open read only
Set FileStream = FileSysObj.OpenTextFile(ThisWorkbook.Path & "\Test4.txt", 1)
Do While Not FileStream.AtEndOfStream
Line = FileStream.ReadLine
NumLines = NumLines + 1
LinePart = Split(Line, "|")
Loop
FileStream.Close
Debug.Print NumLines
Debug.Print Timer - TimeStart
End Sub
相关问题
- 1. 在SQL Server 2005中选择具有特定月份和年份的记录
- 2. 获取特定年份的月份值
- 3. 计算月份和年份的日期
- 4. 如何根据月份和年份来计算字段的值?
- 5. 如何计算给定的月份和年份
- 6. 使用Codeigniter计算特定月份的所有月份
- 7. MySQL在特定月份,年份之间获取记录
- 8. 计算给定月份和年份的周日数
- 9. Javascript:计算给定年份的月份天数
- 10. NSFetchRequest为特定的月份和年份
- 11. Excel:计算特定月份,周,年的计费时间
- 12. 查找给定月份和特定年份的具体日期
- 13. TSQL计算月份的月份数
- 14. 在特定的月份和年份之前获取所有记录
- 15. 如何计算天数在特定月份在某一年中的R
- 16. 从另一张工作表中计算Google表格当前月份和年份的行数
- 17. 获取特定年份和月份
- 18. 在一个月特定年份的天数不工作
- 19. 如何获得特定月份和年份的一个月的天数?
- 20. PHP - 如何计算特定日期之后的月份数
- 21. 如何将月份转换为java中的年份和月份
- 22. SQL将特定月份设置为年份的第一个月
- 23. 基于R计算在特定月份的特定天数
- 24. 按年份和月份计算的MySQL总数以及Calcul累计计数
- 25. Scala - 获取特定年份的所有月份和日期
- 26. 从特定月份开始计算周
- 27. 计算月份
- 28. 显示自定义字段的年份和月份+年龄计算器
- 29. 如何从过去的月份到当月的月份和年份列表
- 30. 如何按月份和年份获得唯一的ID计数?
您最好使用Access这种文件。导入文本文件很简单 – Jeanno 2015-02-09 21:18:07
在Access中打开它。您的任何问题都可以通过查询来回答。 – Brad 2015-02-09 21:18:30
如果数据在Access中,您仍然可以使用Excel,如果您真的想通过使用外部(Access)数据源的Pivot表 – Brad 2015-02-09 21:19:08