我有一个包含大约500,000行的excel文件,我想将其拆分为多个excel文件,每个文件有50,000行。
我想用熊猫这样做,所以它会是最快最简单的。
任何想法如何制作?
谢谢你的帮助
答案 0 :(得分:6)
假设您的Excel文件只有一个(第一张)包含数据的表格,我会使用chunksize
参数:
import pandas as pd
i=0
for df in pd.read_excel(file_name, chunksize=50000):
df.to_excel('/path/to/file_{:02d}.xlsx'.format(i), index=False)
i += 1
<强>更新强>
chunksize = 50000
df = pd.read_excel(file_name)
for chunk in np.split(df, len(df) // chunksize):
chunk.to_excel('/path/to/file_{:02d}.xlsx'.format(i), index=False)
答案 1 :(得分:1)
按照此答案使用np.split_array https://stackoverflow.com/a/17315875/1394890 如果你得到
数组拆分不会导致等分
答案 2 :(得分:0)
正如MaxU所解释的,我还将使用变量chunksize并将大文件中的总行数除以所需的行数。
$cacheDir = dirname($this->getParameter('kernel.cache_dir'));
foreach (['prod', 'dev'] as $env) {
array_map('unlink', glob("$cacheDir/$env/translations/*"));
array_map('unlink', glob("$cacheDir/$env/app*ProjectContainer.php"));
}
希望这会对你有所帮助。