gpt4 book ai didi

python - 将一列转换为数字

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:25 25 4
gpt4 key购买 nike

我正在构建一个程序,它需要 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)

最佳答案

在 CSV 文件中,所有值都是字符串。 openpyxl 工作簿有 option that will let them do type inference但您最好自己管理转换,在这种情况下,添加适当的数字格式。

假设您输入的第四列需要转换为数字。与此类似的东西应该有效。

for idx, row in enumerate(reader, 1):
row[3] = row[3][1:] # strip $
ws.append(row)
ws.cell(idx, 4).number_format = "$"

关于python - 将一列转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com