[英]Writing multiple lists to CSV rows in python
我正在編寫一個程序,該程序從Google Chrome歷史記錄數據庫中提取歷史記錄,並將其輸出到CSV文件。 我正在嘗試將信息放在多行中,例如,第一行中的URL列表,第二行中的網頁標題。 但是,當我這樣做時,會出現以下錯誤:
TypeError:不支持解碼Unicode
任何幫助將不勝感激,以下是我的代碼:
import sqlite3
import datetime
import csv
def urls():
conn = sqlite3.connect('C:\Users\username\Desktop\History.sql')
cursor = conn.execute("SELECT url, title, visit_count, last_visit_time from urls")
timestamp = row[3]
value = datetime.datetime(1601, 1, 1) + datetime.timedelta(microseconds=timestamp)
with open("C:\Users\username\Desktop\\historyulrs.csv", "ab") as filecsv:
filecsvwriter = csv.writer(filecsv)
filecsvwriter.writerow(["Url", "Title", "Visit Count", "Last visit Time"])
for row in cursor:
with open("C:\Users\username\Desktop\\historyulrs.csv", "ab") as filecsv:
filecsvwriter = csv.writer(filecsv)
filecsvwriter.writerows([unicode(row[0], row[1]).encode("utf-8")])
conn.close()
urls()
我還從數據庫中檢索訪問次數和上次訪問時間,然后添加到CSV中。 我還沒有實現。
謝謝
使用熊貓可以為CSV文件提供很多幫助:
import sqlite3
import datetime
import pandas
def urls():
urls = []
titles = []
counts = []
last = []
conn = sqlite3.connect('C:\Users\username\Desktop\History.sql')
cursor = conn.execute("SELECT url, title, visit_count, last_visit_time from urls")
for row in cursor:
#now I am just guessing
urls.append(row[0])
titles.append(row[1])
counts.append(row[2])
last.append(row[3])
df = pandas.DataFrame({'URL': urls,
'Title': titles,
'Visit Count': counts,
'Last visit Time': last})
df.to_csv('historyulrs.csv', encoding='utf-8', index=False)
conn.close()
urls()
請注意,我完全猜到了連續的數據順序,您需要根據需要進行編輯。 我也不太明白你為什么需要datetime
。
不看數據庫就很難回答。 但是類似的事情應該起作用,根據您的實際數據,可能需要進行一些小的修改。
import sqlite3
import datetime
import csv
def urls():
conn = sqlite3.connect('C:\Users\username\Desktop\History.sql')
c = conn.cursor()
query = "SELECT url, title FROM urls"
c.execute(query)
data = c.fetchall()
if data:
with open("C:\Users\username\Desktop\\historyulrs.csv", 'w') as outfile:
writer = csv.writer(outfile)
writer.writerow(['URL', 'Title'])
for entry in data:
writer.writerow([str(entry[0]), str(entry[1])])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.