【发布时间】:2019-02-02 03:21:26
【问题描述】:
我想通过从 csv 文件中读取数据来创建一个 excel。
所以,我在 python 中使用 Openpyxl 和 CSV。
但是,无论number_format 我在代码中输入了来自 csv 的单元格值都保持为“文本”格式
from openpyxl import load_workbook
import csv
from openpyxl.styles import numbers
ws= load_workbook('myworkbook.xlsx')
with open("myfile.csv", "r", newline="", encoding="utf16") as f:
mydata=csv.reader(f,delimiter='|')
for row in mydata:
for col_index,col_data in enumerate(row,3):
ws.cell(row=new800row_count, column=col_index, value=col_data).number_format = numbers.FORMAT_NUMBER
假设我的 csv 文件包含 800、200、100 个数据值。 使用我上面的代码后。它不是以数字格式(excel)显示 800、200、100,而是告诉我这个单元格包含存储为文本的数字,即使实际的 excel 格式告诉我它是一个数字
提前感谢您的帮助。
【问题讨论】:
-
CSV 中的所有内容都是字符串,因此您需要将相关值转换为代码中的数字。