Python处理Excel时qryid列科学计数法问题及解决方案咨询
解决Excel转CSV时qryid科学计数法问题及SQL换行处理方案
方案一:改进Python代码保留qryid原始格式
直接从Excel读取时就指定qryid为字符串类型,避免后续解析为数值导致科学计数法,同时优化SQL换行处理逻辑:
import pandas as pd # 读取Excel时强制qryid列为字符串类型,从源头避免类型转换 mydf = pd.read_excel(r'C:\Users\Qry1.xlsx', dtype={'qryid': str}) # 批量替换SQL列的换行符为空格,无需逐行循环 mydf['SQL'] = mydf['SQL'].str.replace('\n', ' ') # 导出格式化后的CSV文件 mydf.to_csv(r'C:\Users\Qry1_format.csv', index=False, header=False)
说明:原代码先转CSV再读回的步骤会让pandas自动将长数字解析为浮点数并显示为科学计数法,直接读Excel时指定dtype可以彻底避免这个问题,同时批量处理SQL列比逐行循环效率更高。
方案二:直接在Excel中完成所有处理(无需Python)
1. 处理SQL列的换行符
- 选中SQL列的所有数据,按下
Ctrl+H打开替换对话框 - 在「查找内容」输入框中按下
Ctrl+J(代表Excel中的换行符),「替换为」输入框输入空格 - 点击「全部替换」即可完成换行符替换
2. 确保qryid导出CSV时不转为科学计数法
- 选中qryid列,右键选择「设置单元格格式」
- 在弹出窗口中选择「文本」类型,点击「确定」
- 点击「文件」→「另存为」,选择保存类型为「CSV(逗号分隔)(*.csv)」,完成导出
内容的提问来源于stack exchange,提问作者user20384361
相关产品推荐
相关产品推荐

