[英]How to use csv writerow while appending xlrd cell value Python
我編寫了以下 function,它從眾多 excel 文件中復制數據並將它們復制到 csv。 我無法從 excel 中的單個單元格中附加“refresh_date_value”,並使用 writerow 迭代以將該日期值包含在我的 csv Z78E6221F6393D1356681DB398F14CE6 中的每一行中。 目前它采用“refresh_date_value”並將每個字符拆分為單獨的列。 例如,output 文件將每個字符放在自己的列 [2, 0, 2, 0, /, 0, 6....]。 我只想將整個日期放在每一行的一列中。 “refresh_date_value”是日期時間 object 所以我不知道如何加入 writerow 而不把它變成一個列表。 我在 Stack 上找到了一些類似的示例,但一直無法獲得預期的結果。 先感謝您。
'''
def append_all(input_directory):
for file in os.listdir(input_directory):
if bool(re.search(pattern, file)) == True:
in_fpath = os.path.join(input_directory, file)
out_fpath = os.path.join(input_directory, 'history.csv')
wrkbk = xlrd.open_workbook(in_fpath)
wrksht = wrkbk.sheet_by_name('importer')
refresh_date_float = wrksht.cell_value(1,4)
refresh_date_value = xlrd.xldate_as_datetime(refresh_date_float, wrkbk.datemode).strftime('%Y/%m/%d %H:%M')
if os.path.isfile(out_fpath) == False:
with open(out_fpath, 'w', newline='') as csvfile:
wr = csv.writer(csvfile)
for rownum in range(3, wrksht.nrows):
wr.writerow(wrksht.row_values(rownum) + list(refresh_date_value))
# Start append data
else:
with open(out_fpath, 'a', newline='') as csvfile:
wr = csv.writer(csvfile)
for rownum in range(4, wrksht.nrows):
wr.writerow(wrksht.row_values(rownum) + list(refresh_date_value))
csvfile.close()
print('process complete')
'''
嘗試這個
wr.writerow(list(.row_values(rownum)) + [refresh_date_value])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.