Python 使用fastparquet在子文件上分割拼花文件

Python 使用fastparquet在子文件上分割拼花文件,python,csv,parquet,fastparquet,Python,Csv,Parquet,Fastparquet,我需要将csv文件转换为拼花格式。但是这个csv文件非常大(超过65000行和1000列),这就是为什么我需要将我的拼花地板文件分成几个子文件,每个子文件中有5000行和200列)。我已经尝试过分区和行组偏移,但不起作用 我的代码: import pandas as pd import fastparquet as fp df = pd.read_csv('D:\Users\mim\Desktop\SI\LOG\LOG.csv') fp.write(r'D:\Users\mim\Desktop

我需要将csv文件转换为拼花格式。但是这个csv文件非常大(超过65000行和1000列),这就是为什么我需要将我的拼花地板文件分成几个子文件,每个子文件中有5000行和200列)。我已经尝试过分区和行组偏移,但不起作用

我的代码:

import pandas as pd
import fastparquet as fp

df = pd.read_csv('D:\Users\mim\Desktop\SI\LOG\LOG.csv')
fp.write(r'D:\Users\mim\Desktop\SI\newdata.parq', df)
[正确答案]:

import os
import pandas as pd
import fastparquet as fp

pathglobalcsv = 'D:\Users\mim\Desktop\SI'
inputFile = os.path.join(pathglobalcsv, 'LOG.csv')

table = pd.read_csv(inputFile, delimiter=';', chunksize=5000)
listrow = list(table)
columnCount = len(listrow[0])

fileCounter = 0

for row in listrow:
    for col in range(1, columnCount, 199):
        timestamp = row.ix[:, 0] #timestamp
        timestampcolumn = pd.DataFrame(timestamp)
        i=col+199
        maincols = row.ix[:, col:i] #other columns
        maincolumns = pd.DataFrame(maincols)
        outputDF = pd.concat([timestampcolumn, maincolumns], axis=1)

        #create a new file
        fileCounter += 1

        #parquet file
        fp.write(r'C:\Users\mim\eclipse-workspace\SI\file.part_' + str(fileCounter) + '.par', outputDF)