y********0 发帖数: 638 | 1 有个200兆左右的excel data file,包含有30几个tab(或者sheet).
尝试用sas 里的proc import挨个读取,虽然写了个宏,但本质上还是挨个挨个的读,
读到一半,说内存不够了。 于是换成python,用的pandas下的read_excel函数,感觉
比sas还慢。 或者我方向不对,有什么方法能快速读取么。搞了一上午,未果。有知道
的能说两句么,或者甩几个名词也成。
谢谢。 |
s*********h 发帖数: 6288 | 2 python 为什么会慢?它是使用时候才读,不是定义时候读啊。
【在 y********0 的大作中提到】 : 有个200兆左右的excel data file,包含有30几个tab(或者sheet). : 尝试用sas 里的proc import挨个读取,虽然写了个宏,但本质上还是挨个挨个的读, : 读到一半,说内存不够了。 于是换成python,用的pandas下的read_excel函数,感觉 : 比sas还慢。 或者我方向不对,有什么方法能快速读取么。搞了一上午,未果。有知道 : 的能说两句么,或者甩几个名词也成。 : 谢谢。
|
y********0 发帖数: 638 | 3 谢谢.
是说python编译的时候不读取,而是执行的时候读取么?
没有比较过python和sas的运行原理,就是自己大约看了一下执行时间,it takes for
ever for both;而且都是中间跳出memory error之类的.
再次感谢.
【在 s*********h 的大作中提到】 : python 为什么会慢?它是使用时候才读,不是定义时候读啊。
|
A*****a 发帖数: 1091 | 4 搭lz的车,顺便问问在SAS里用libname定义excel为library后,再用data step copy出
来,和用proc import有什么区别不?
lz,200M应该不大啊,你用import挨个读,最后读出来几个啊?
【在 y********0 的大作中提到】 : 有个200兆左右的excel data file,包含有30几个tab(或者sheet). : 尝试用sas 里的proc import挨个读取,虽然写了个宏,但本质上还是挨个挨个的读, : 读到一半,说内存不够了。 于是换成python,用的pandas下的read_excel函数,感觉 : 比sas还慢。 或者我方向不对,有什么方法能快速读取么。搞了一上午,未果。有知道 : 的能说两句么,或者甩几个名词也成。 : 谢谢。
|
g*****o 发帖数: 812 | 5 另存成txt,再用python读
【在 y********0 的大作中提到】 : 有个200兆左右的excel data file,包含有30几个tab(或者sheet). : 尝试用sas 里的proc import挨个读取,虽然写了个宏,但本质上还是挨个挨个的读, : 读到一半,说内存不够了。 于是换成python,用的pandas下的read_excel函数,感觉 : 比sas还慢。 或者我方向不对,有什么方法能快速读取么。搞了一上午,未果。有知道 : 的能说两句么,或者甩几个名词也成。 : 谢谢。
|
h*******n 发帖数: 458 | 6 work directory设的太小了,如果可以改的话改大点。还有,可以读一个,写一个到硬
盘上,删掉work里的,然后再读下一个。
【在 y********0 的大作中提到】 : 有个200兆左右的excel data file,包含有30几个tab(或者sheet). : 尝试用sas 里的proc import挨个读取,虽然写了个宏,但本质上还是挨个挨个的读, : 读到一半,说内存不够了。 于是换成python,用的pandas下的read_excel函数,感觉 : 比sas还慢。 或者我方向不对,有什么方法能快速读取么。搞了一上午,未果。有知道 : 的能说两句么,或者甩几个名词也成。 : 谢谢。
|
s*********h 发帖数: 6288 | 7 我的意思是说如果你只是看比如:
data = read_excel(XXX)
这种定义,不会用任何时间。
不过看起来似乎是你在运行一段script,那关键就不是看这段了,而是你之后怎么操作
数据。
200M数据挺小的啊,不应该出这种错误。
【在 y********0 的大作中提到】 : 谢谢. : 是说python编译的时候不读取,而是执行的时候读取么? : 没有比较过python和sas的运行原理,就是自己大约看了一下执行时间,it takes for : ever for both;而且都是中间跳出memory error之类的. : 再次感谢.
|
c******g 发帖数: 4889 | 8 Python读200MB的Excel不可能慢到哪里去。 |
y********0 发帖数: 638 | 9 python 不知道是什么原因引起memory error。 但sas里崩溃确实是因为work
directory溢出了,我直接写到固定的逻辑库里,之后至少不崩溃了。
谢谢啦。
【在 h*******n 的大作中提到】 : work directory设的太小了,如果可以改的话改大点。还有,可以读一个,写一个到硬 : 盘上,删掉work里的,然后再读下一个。
|