как печатать данные в 10000 строк на файл в текстовом файле

#python #pandas #printing #split

#python #pandas #печать #разделение

Вопрос:

Мне нужно составить комбинацию определенных данных, данные доступны в файле Excel. но количество строк в миллионах. итак, я хочу напечатать 50000 строк на файл.

Мой код.(которые создают один файл в текстовом формате, но хотят печатать 50000 строк на файл)

 import pandas as pd
import itertools

df = pd.read_excel("data.xlsx", header=None, index_col=False, dtype=str)
df.columns = ['A']

comb = list(itertools.product(df['A'], repeat=4))
a = comb

for x in range(len(a)):
    print(a[x], file=open('comb.txt', 'a'))
 

Комментарии:

1. это 10000 или 50000 на файл?

2. Посмотрите на grouper рецепт в itertools документации; он позволяет вам использовать comb фрагменты по 50 000; вы будете записывать каждый фрагмент в отдельный файл.

Ответ №1:

 i = 0
lines = []
for item in itertools.product(df['A'], repeat=4)):
    lines.append(''.join(item))

    if len(lines) > 50000:
        with open(f'comb.{i}.txt', 'a') as f:
            f.write('n'.join(lines))
        lines = []
        i  = 1
        
 

Комментарии:

1. «Ошибка типа: элемент последовательности 0: ожидаемый экземпляр str», найден кортеж. в моем файле Excel есть коды. например, AA, AB, AC…… ЛЮБЫЕ решения для этого