преобразование CSV в числа XLSX, хранящиеся в виде текста в данных смешанного типа - PullRequest
0 голосов
/ 29 мая 2019

У меня большой набор данных, который состоит из чисел с плавающей точкой, целых и строк. Мой оригинальный набор данных в формате CSV. при преобразовании в xlsx я получаю числа, сохраненные как текстовые ошибки.

Я видел это , которое выдает скрипт, если вы пишете в ячейки вручную.

, а также это , которое показывает, как преобразовать CSV в текст.

Это мое соединение двух скриптов:

import csv
import os
import glob
import xlsxwriter

from xlsxwriter import Workbook
workbook = xlsxwriter.Workbook('file.xlsx', {'strings_to_numbers': True})

for csvfile in glob.glob(os.path.join('.', '*.csv')):
    workbook = Workbook(csvfile[:-4] + '.xlsx')
    worksheet = workbook.add_worksheet()
    with open(csvfile, 'rt', encoding='utf8') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader):
            for c, col in enumerate(row):
                worksheet.write(r, c, col)

workbook.close()

Что не работает для разрешения чисел, хранящихся как текстовые проблемы. Эта проблема сохраняется.

Я хочу записать числа в виде чисел, так как они конвертируют CSV в XLSX

1 Ответ

1 голос
/ 29 мая 2019

Первая строка вашего цикла for переопределяет переменную книги, которую вы определили с помощью "strings_to_numbers".Попробуйте удалить эту строку, поскольку похоже, что вы хотите добавить рабочие листы в одну рабочую книгу.*

...