如何使用 csvwriter 在 Python 中编写 headers 列表?
How to write headers list in Python using csvwriter?
我正在尝试使用以下代码
cursor = connect.cursor()
sqlSelect = "SELECT to_char(t.create_date, 'DD-MM-YYYY') AS CreatedDate,t.ticket_number AS TicketNo,p.name AS Priority,t.person_name AS Person,t.subject AS Subject,s.name AS State, to_char(t.close_date, 'DD-MM-YYYY') AS ClosedDate FROM website_support_ticket t INNER JOIN website_support_ticket_priority p ON p.id = t.priority_id INNER JOIN website_support_ticket_state s ON s.id = t.state_id ORDER BY CreatedDate"
try:
cursor.execute(sqlSelect)
results = cursor.fetchall()
headers = [i[0] for i in cursor.description]
csvFile = csv.writer(open(filePath + fileName, 'w'),
delimiter=',', lineterminator='\r\n',
quoting=csv.QUOTE_ALL, escapechar='\')
csvFile.writerows(headers)
csvFile.writerows(results)
当我打印 headers
输出就像
('headers', ['createddate', 'ticketno', 'priority', 'person', 'subject', 'state', 'closeddate'])
和 headers 只是不像 headers 那样写入 CSV,
关于如何仅在顶部第一行打印 header 有什么建议吗?截至目前,header 的每个字母都进入不同的行。
任何建议或修复都会很有帮助。
尝试:
headers = ", ".join(cursor.description)
不确定 cursor.description 是否作为列表传回。
快速检查我自己的东西,它以元组的形式返回。这会搞砸上面的内容。
headers = ", ".join([i[0] for i in cursor.description])
使用 writerow 添加作为列表传递的单行:
csvFile.writerow(headers)
我正在尝试使用以下代码
cursor = connect.cursor()
sqlSelect = "SELECT to_char(t.create_date, 'DD-MM-YYYY') AS CreatedDate,t.ticket_number AS TicketNo,p.name AS Priority,t.person_name AS Person,t.subject AS Subject,s.name AS State, to_char(t.close_date, 'DD-MM-YYYY') AS ClosedDate FROM website_support_ticket t INNER JOIN website_support_ticket_priority p ON p.id = t.priority_id INNER JOIN website_support_ticket_state s ON s.id = t.state_id ORDER BY CreatedDate"
try:
cursor.execute(sqlSelect)
results = cursor.fetchall()
headers = [i[0] for i in cursor.description]
csvFile = csv.writer(open(filePath + fileName, 'w'),
delimiter=',', lineterminator='\r\n',
quoting=csv.QUOTE_ALL, escapechar='\')
csvFile.writerows(headers)
csvFile.writerows(results)
当我打印 headers 输出就像
('headers', ['createddate', 'ticketno', 'priority', 'person', 'subject', 'state', 'closeddate'])
和 headers 只是不像 headers 那样写入 CSV,
关于如何仅在顶部第一行打印 header 有什么建议吗?截至目前,header 的每个字母都进入不同的行。
任何建议或修复都会很有帮助。
尝试:
headers = ", ".join(cursor.description)
不确定 cursor.description 是否作为列表传回。
快速检查我自己的东西,它以元组的形式返回。这会搞砸上面的内容。
headers = ", ".join([i[0] for i in cursor.description])
使用 writerow 添加作为列表传递的单行:
csvFile.writerow(headers)