### Символ при открытии файла CSV в Excel, созданного с использованием Python - PullRequest
0 голосов
/ 27 июня 2018

Я создал CSV-файл в python. Поэтому он создал CSV-файл. Когда я открыл этот файл в Excel, отображаются некоторые символы ####. Когда я увеличиваю ширину этого столбца, вручную выводятся исходные данные. В программном плане есть все шансы увеличить ширину этого столбца. Пример кода показан ниже. Заранее спасибо за ваши ответы.

import csv
from datetime import datetime

csvData = ([[datetime.now().date(), datetime.now().time().strftime("%I:%M:%S %p")]])
with open('test.csv', 'a') as csvFile:
    writer = csv.writer(csvFile, delimiter=',', quoting=csv.QUOTE_ALL, 
             lineterminator='\n')
    writer.writerows(csvData)
csvFile.close()

Ответы [ 2 ]

0 голосов
/ 13 августа 2018

Это связано с тем, что ширина столбца меньше содержимого столбца. Когда вы экспортируете файл CSV из python, это происходит, поскольку для файла CSV нет функции autofit (). Однако вы можете увеличить ширину столбца, перетаскивая его вручную, чтобы отобразить фактическое содержимое столбца вместо ####.

Вы также можете использовать следующий код, если вы хотите автоматически настроить ширину столбцов при экспорте файла EXCEL из python.

import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r'file_path.xlsx')
ws_1 = wb.Worksheets("Sheet 1")
ws_1.Columns.AutoFit()
ws_2 = wb.Worksheets("Sheet 2")
ws_2.Columns.AutoFit()
wb.Save()
excel.Application.Quit()
0 голосов
/ 27 июня 2018

CSV = Разделенные запятыми значения, он не имеет никаких свойств, связанных со значениями, поэтому в Excel для отображения значений используются настройки по умолчанию. Для записи файла * .xls вы можете использовать модуль xlwt , а для файлов * .xlsx XlsxWriter module.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...