你如何写一个excel文件作为csv?

时间:2016-12-23 11:25:27

标签: python excel csv

在工作中,我需要每个月执行一次这个过程,包括从服务器下载一些文件,将它们复制到新文件夹,删除现有文件等,这是非常平凡的。我自己编写了一个Python脚本来执行此操作。

此过程的一个步骤是打开Excel文件并将其另存为CSV文件。无论如何都在做这个Python吗?

编辑:

我遇到的主要困难是双重困难。我知道如何使用Python的csv库编写CSV文件,但是

  1. 如何将Excel文件读入Python?

  2. 读取Excel文件然后将其写为CSV文件的结果是否与在Excel中打开文件一致,并手动执行保存为CSV?

  3. 有没有比这里建议的更好的方法呢?

  4. 我想我真的想要一个答案1. 2我可以通过使用像Winmerge这样的东西找到自己......

2 个答案:

答案 0 :(得分:1)

要在Python中操作Excel文件,请查看this question and answer,其中使用了xlrd package。例如:

from xlrd import open_workbook

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

要在Python中操作CSV文件,请查看this question and answerdocumentation,其中使用了库csv。例如:

import csv

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

答案 1 :(得分:-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"