У меня есть файл, который действительно в формате csv, но передается мне как.txt. Мне нужно взять этот файл и перенести его в формат.xls, чтобы я мог загрузить его в Документы Google. В настоящее время у меня есть код ниже, но он выплевывает файл со всем на линии в первую ячейку, а не разрывает разные ячейки для каждого значения запятой. Кто-нибудь знает, как это решить?
Благодарю!
import os
fin = open(r"C:\Users\JohnDoe\Downloads\Report.txt", "r")
data_list = fin.readlines()
fin.close() # closes file
fout = open(r"C:\Users\JohnDoe\Desktop\Report.xls", "w")
fout.writelines(data_list)
fout.flush()
fout.close()
Просто переименование его в .xls
не конвертирует его в электронную таблицу Excel. Но независимо от того, зачем вы конвертируете его в .xls
чтобы загрузить его в Google Docs?
Если это .csv
, просто переименуйте файл в .csv
и загрузите его, и он будет правильно обнаружен как электронная таблица.
Использовать os.rename
:
import os
os.rename("C:\Users\JohnDoe\Downloads\Report.txt",
"C:\Users\JohnDoe\Downloads\Report.cvs")
если вам действительно нужно это сделать с Python.
Если вам нужно получить фактические строки из файла вместо строк:
from csv import reader
for row in reader(open(r"C:\Users\JohnDoe\Downloads\Report.txt", 'rb')):
# do something with row
предоставит вам список ячеек для каждой строки.
Если вам действительно нужно работать с электронной таблицей Excel, см. Http://www.python-excel.org/ и пакет xlwt.
Попробуйте http://packages.python.org/openpyxl/ или для старых файлов excel, посмотрите эту страницу справки, используя pyExcelerator.
Ваш код просто копирует Report.txt в Report.xls
При открытии Report.xls Excel распознает его как файл csv, однако он не распознает запятые как разделители.
Вам нужно будет использовать какую-то библиотеку для записи правильных файлов Excel. Посмотрите, например, на интерфейс Word COM.
.csv
, и в этом случае он знает, что запятые являются разделителями, либо он не знает, что это файл .csv
.
xls
поскольку Документы Google, безусловно, могут обрабатывать.csv
. Если мое предположение, что вам на самом деле не нужен.xls
, неверно, дайте мне знать.