我正在嘗試編寫一個將.csv文件轉換爲.xlsx文件的腳本,然後對新文件執行一些數據分析。我正在嘗試複製我製作的新文件時遇到錯誤。將.csv轉換/分析爲xlsx文件
這裏是錯誤:
File "C:/Users/mmunoz/Desktop/Excel Analysis/danielaScript1.0.py", line 40, in <module>
workbookCopy = xlutils.copy(workbook)
TypeError: 'module' object is not callable
這裏是我的原代碼
import os, csv
import glob
from openpyxl.cell import get_column_letter
from xlsxwriter.workbook import Workbook
import xlrd
import statistics as st
import xlutils.copy
position = []
load = []
positionMM = []
force = []
csvfile = input('Please input filename: ')
for csvfile in glob.glob(os.path.join('.', '*.csv')):
workbook = Workbook(csvfile + '.xlsx')
worksheet = workbook.add_worksheet()
with open(csvfile, 'r') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
columb_letter = get_column_letter((c+1))
s = col
try:
s= float(s)
except ValueError:
pass
worksheet.write(r, c, s)
#%%
#workbook1 = xlrd.open_workbook(workbook)
workbookCopy = xlutils.copy(workbook)
sheet = workbook.sheet_by_index(0)
numRows = sheet.nrows
numCols = sheet.ncols
for row in range(2, numRows):
position.append(sheet.cell_value(row,2)) #appends values in column to position array
load.append(sheet.cell_value(row,3))#appends values in column to load array
上面的代碼是不完整的,也可以是不正確地縮進。我認爲你需要把重點放在你的任務的小部分,並確保它們中的每一個都在工作,然後再嘗試把它們放在一起。例如,如何將每個CSV保存爲.xlsx文件,而不需要任何額外的處理。現在,上面的代碼甚至沒有這樣做。 –
我也認爲你會發現你根本不能真正使用xlutils。該模塊用作xlrd和xlwt之間的橋樑,並且不能使用xlwt創建.xlsx文件。 –
好的,感謝您的輸入@John Y.截至目前,我的腳本正在成功創建來自原始csv文件的.xlsx文件。但是,如果我不能使用xlwt創建xlsx文件,我將需要啓動我的項目。對於如何處理我的任務,您有任何建議: 也就是說,要獲取具有摩擦數據的csv文件,將數據轉換爲不同的單位,然後輸出新的數據集 – Mmoon