2016-12-23 2 views
-4

На работе я должен выполнять этот процесс каждый месяц, который включает загрузку некоторых файлов с сервера, их копирование в новую папку, удаление существующих файлов и т. Д., Что является довольно обыденным. Я поручил себе написать сценарий Python для этого.Как вы пишете файл excel как csv?

Одним из шагов этого процесса является открытие файла Excel и сохранение его в виде файла CSV. Есть ли способ сделать это Python?

EDIT:

Основная трудность у меня с этим два раза. Я знаю, как написать файл CSV, используя библиотеку CSV в Python, но

  1. Как читать файлы Excel в Python?

  2. Выполняется ли результат чтения в файле Excel, записывая его как файл CSV, с открытием файла в Excel и выполнять сохранение в виде CSV вручную?

  3. Есть ли лучший способ сделать это, а затем предложенный здесь способ?

Я предполагаю, что я действительно хочу получить ответ на 1. 2 я могу узнать себя, используя что-то вроде Winmerge ...

+0

Да, есть способ. –

+0

@CoffeeandClonazepam, возможно, вам хотелось бы подробно остановиться на этом? – Lost1

+0

Мой ответ столь же широк, как и ваш вопрос. Вероятно, поэтому вы получаете downvotes. Пожалуйста, предоставьте более подробную информацию о том, что вы пробовали до сих пор, какие проблемы вы столкнулись и т. Д. –

ответ

1

Для работы с файлами Excel в Python, взгляните на this question and answer, где используется xlrd package. Пример:

from xlrd import open_workbook 

book = open_workbook('example.xlsx') 
sheet = book.sheet_by_index(1) 

Для управления CSV файлов в Python, взгляните на this question and answer и documentation, где библиотека csv используется. Пример:

import csv 

with open('example.csv', 'rb') as csvfile: 
    spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
    for row in spamreader: 
     print ', '.join(row) 
+0

http://meta.stackexchange.com/q/225370/248731 – jonrsharpe

+0

спасибо, я посмотрю на это ... – Lost1

+0

Я посмотрел на openpyxl. xlrd - более подходящий инструмент? – Lost1

-3

Я должен был сделать это для проекта в курсе, который я взял.

Вам не нужно привлекать Excel в процессе, поскольку вы можете просто создать файл csv, а затем открыть его в любой программе, которая вам нравится.

Если вы знаете, как писать в файл как txt, тогда вы можете создать csv. Я не уверен, что это самый эффективный способ, но он работает.

При установке файла, вместо того, чтобы что-то вроде:

data = [["Name", "Age", "Gender"],["Joe",13,"M"],["Jill",14,"F"]] 

filename = input("What do you want to save the file as ") 
filename = filename + ".txt" 

file = open(filename,"w") 

for i in range(len(data)): 
    line = "" 
    for x in range (len(data[i])): 
     line += str(data[i][x]) 
     line += "," 
    file.write(line) 
    file.write("\n") 
file.close() 

просто заменить расширение файла TXT в CSV-файл, как это:

filename = filename + ".csv" 
+1

1. Это не помогает OP вообще, если они * начинают * с файла Excel. 2. И это не хороший способ обработки CSV в Python - зачем добавлять запятые вручную? Просто используйте 'csv'! 3. Даже если вы не используете стандартный библиотечный модуль, 'для строки в data: line = ','. Join (row)' более аккуратно, чем ручное переключение, избегает неудобного индексирования и не оставляет конечной запятой , – jonrsharpe

Смежные вопросы