我正在构建一个程序,要求输入csv文件并将其保存在excel中。我有一个货币列 - $ 10.00 - 我可以用我的代码将其他单元格转换为数字,但我认为因为在它没有转换的数字之前有一个'$'。我如何才能解决这一问题 - 谢谢
def open_csv():
from tkinter import Tk
from tkinter.filedialog import askopenfilename
import csv
from openpyxl import Workbook
from openpyxl.cell import get_column_letter
Tk().withdraw()
filename = askopenfilename()
open_rawdata = open(filename, 'r')
csv.register_dialect('commas', delimiter=',')
reader = csv.reader(open_rawdata, dialect='commas')
wb = Workbook()
dest_xls = r'C:\Users\sparkis\Desktop\WeeklyReport.xlsx'
ws = wb.worksheets[0]
ws.title = "TEST TITLE"
for row_index, row in enumerate(reader):
for column_index, cell in enumerate(row):
column_letter = get_column_letter((column_index + 1))
s = cell
try:
s = float(s)
except ValueError:
pass
ws.cell('%s%s'%(column_letter, (row_index + 1))).value = s
wb.save(filename = dest_xls)
答案 0 :(得分:1)
在CSV文件中所有值都是字符串。 openpyxl工作簿有一个option that will let them do type inference,但你最好自己管理转换,在这种情况下,添加一个合适的数字格式。
假设您输入的第四列需要转换为数字。根据这一点,应该有所作为。
@using (Ajax.BeginForm("AddTagToSubject", "Subjects", null,
new AjaxOptions() { OnSuccess = "UpdateTableData" }, null)){...}