错误:可预期的迭代,不是十进制.Decimal-写入csv时出现问题

时间:2019-01-28 15:20:59

标签: python export-to-csv pyodbc

与标题相同。如何将sql导入转换为有用的东西。 我的理由是,它与逗号分开,会发出很多钟声,但是... 在Python方面,我是新手,我主要使用Matlab和R。

我认为我现在已经尝试了多种方法来使其成为具有7列的表。

第一列是观察的UTC时间。其次观察。观察到的资产的第三个(总共4个)。当地时间第四次。然后是小时当地时间,分钟当地时间和日期当地时间。

import pyodbc
import csv
conn = pyodbc.connect("connection string"
        )
cursor = conn.cursor()

cursor.execute('''Commandstring''')

data = cursor.fetchall()
for row in data:
    print(f'{row}')
    print()


with open('dataTester.csv', 'w') as fp:
    a= csv.writer(fp, delimiter=',')
    for row in data:
        a.writerows(row)

打印将显示以下结果:

('2019-01-27 01:56:00.0000000', Decimal('1786.0000'), 90, '2:56', Decimal('2'), Decimal('56'), '2019-01-27')

('2019-01-27 01:57:00.0000000', Decimal('1786.0000'), 90, '2:57', Decimal('2'), Decimal('57'), '2019-01-27')

('2019-01-27 01:58:00.0000000', Decimal('1786.0000'), 90, '2:58', Decimal('2'), Decimal('58'), '2019-01-27')

('2019-01-27 01:59:00.0000000', Decimal('1786.0000'), 90, '2:59', Decimal('2'), Decimal('59'), '2019-01-27')

最终目标是将其放入表格中。然后将其中一个分成四个表,每个表一个表,每个资产一个表(资产90是其中之一)。

Click here to see screen shot. Im not allowed to post an actual image yet.

任何人都可以提供一些提示。尤其是在表一中。

Second - one level deeper

  

来自评论:

     

写入csv会显示错误消息:

a.writerows(row) Error: iterable expected, not decimal.Decimal
     

csv仅包含一行,其内容可能应该是第一列:

2,0,1,9,-,0,1,-,2,7, ,0,2,:,0,0,:,0,0,.,0,0,0,0,0,0,0

0 个答案:

没有答案