使用Julia的XLSX包将所有Excel单元格读取为文本的问题
解决Julia XLSX包读取Excel时强制所有单元格为文本类型的问题
XLSX包默认会自动识别Excel单元格的类型,要把所有单元格(包括数值型)都读取为文本,你可以用以下两种方式实现:
方法一:遍历单元格强制转换为字符串
读取文件后,遍历目标工作表的所有单元格,用string()函数将每个值转为文本类型:
import XLSX # 读取Excel文件 xf = XLSX.readxlsx("myfile.xlsx") # 选择目标工作表(替换为你的工作表名称) target_sheet = xf["Sheet1"] # 把所有单元格内容转为字符串 text_only_data = [string(cell) for cell in target_sheet[:]]
方法二:用readdata配合自定义转换函数
如果需要更高效的批量转换,可以使用XLSX.readdata,并传入自定义的转换函数,对每个单元格应用文本转换:
import XLSX # 定义转换函数:所有值转字符串,空单元格转为空字符串(可根据需求调整) convert_to_text(x) = ismissing(x) ? "" : string(x) xf = XLSX.readxlsx("myfile.xlsx") target_sheet = xf["Sheet1"] # 读取并批量转换为文本 text_only_data = XLSX.readdata(target_sheet, convert_to_text)
补充说明
- 如果不需要处理空单元格,直接用
string(x)即可,空单元格会被转为"missing"字符串; - 上述代码中的
Sheet1需要替换为你实际的工作表名称,或者用索引(如xf[1]表示第一个工作表)。
内容的提问来源于stack exchange,提问作者Akhil Akkapelli
相关产品推荐
相关产品推荐

