SQL导出csv身份证号变科学计数法的三个解决方法

本文总结了SQL导出CSV时身份证号变为科学计数法的三种解决方法:1)使用CONCAT,但可能改变身份证号长度;2)利用Excel的外部数据获取功能,设置身份证号列格式为文本;3)编写Python程序,通过pandas、openpyxl等库读写文件,并用pyinstaller打包成可执行程序,方便重复使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前因为SQL导出csv文件后身份证号变成科学计数法苦恼很久,找了也试了很多种方法,总结如下。

1.CONCAT

SELECT CONCAT('\t',str) FROM xxx;

这个方法对于csv来说是有效的,能够把身份证号强制识别为文本,但是这个方法的问题是它改变了身份证号码的长度,在一些严格要求格式或者要引用身份证号的情境下不适用。

2.EXCEL自带的从外部获取数据功能

在这个功能中,可以指定身份证号所在列的格式为文本,只是一个文件设置一次比较麻烦。

3.做一个python小程序

        (1)用conda之类的工具创建一个虚拟环境

conda create -n id2str python==3.9.7

        (2)下载下列包

pip install pandas
pip install openpyxl
pip install easygui
pip install pyinstaller

pandas用于读写文件;openpyxl作为pandas的引擎;easygui作为一个伪界面;pyinstaller负责打包exe程序。

        (3)代码

talk is cheap, show me the code.

import easygui as g
import pandas as pd


file = g.fileopenbox('打开包含身份证号的csv文件')
data = pd.read_csv(file)
print('正在打开文件')

cols = list(data.columns)
id_col = g.choicebox('选择身份证所在列', choices=cols)
data[id_col] = data[id_col].astype('str')

data.to_excel(file[:-4]+'.xlsx', index=False, encoding='utf_8_sig')
print('文件转换完毕')

        (4)打包exe

 以本文的文件名为例,用pycharm的terminal键入

pyinstaller -F .\id2str.py -i .\ai17p-19wzz-001.ico

在dist文件夹中得到exe程序,大小为32M,后续可以反复使用。

 4.小结

对格式无要求的可以参考CONCAT,只是少数时候使用的可以用EXCEL,需要经常使用的可以用上述python代码写一个小程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值