使用Pandas返回的数据字段的csv Writer

时间:2014-02-20 16:58:01

标签: python excel csv xlrd

您好我正在处理一个读取Excel工作表的项目,根据标题标题收集数据列,然后将该数据写入更精简的csv文件,我将使用它来获得更多乐趣后面。

我在尝试编写新的csv文件时遇到语法错误,我认为这与我用来获取pandas列的数据字段有关。

我是Python的新手,所以你能提供的任何帮助都会很棒,谢谢!

import pandas
import xlrd
import csv


def csv_from_excel():

    wb = xlrd.open_workbook("C:\\Python27\\Work\\spreadsheet.xlsx")
    sh = wb.sheet_by_name('Sheet1')
    spoofingFile = open('spoofing.csv', 'wb')
    wr = csv.writer(spoofingFile, quoting=csv.QUOTE_ALL)

    for rownum in xrange(sh.nrows):
        wr.writerow(sh.row_values(rownum))

    spoofingFile.close()

csv_from_excel()
df = pandas.read_csv('C:\\Python27\\Work\\spoofing.csv')

time = df["InviteTime (Oracle)"]
orignum = df["Orig Number"]
origip = df["Orig IP Address"]
destnum = df["Dest Number"]

sheet0bj = csv.writer(open("complete.csv", "wb")
sheet0bj.writerow([time,orignum,origip,destnum])

语法错误因此:

file c:\python27\work\formatsheettest.py, line36
sheet0bj.writerow([time, orignum, origip, destnum])
       ^
Syntax error: Invalid syntax

1 个答案:

答案 0 :(得分:1)

你错过了倒数第二行的结束语 sheet0bj = csv.writer(open("complete.csv", "wb")
应该是 sheet0bj = csv.writer(open("complete.csv", "wb"))

我认为你现在已经想到了这一点。