我有一个要插入数据库的Excel表格。我写了一个Python脚本,它可以将Excel文件转换为CSV并将其插入到数据库中。问题是Excel表格包含邮政编码,而这些编码不幸地移除了前导零。
以下是读取Excel表格并将其放入CSV的代码:
当我将Excel转换为csv并打印出来时,得到了以下结果:
以下是读取Excel表格并将其放入CSV的代码:
def excel_to_csv():
xlsx = pd.read_excel(excel_path + fileName + '.xlsx')
xlsx.to_csv(csv_file, encoding='utf-8', index=False, na_rep=None, quoting=csv.QUOTE_NONE)
excel_to_csv()
然后我使用以下代码将其插入到数据库中:
with open(csv_file, 'rb') as f:
reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE)
next(reader)
for row in reader:
cur.execute(
"INSERT INTO table (foo1, foo2, zipcode, foo3) VALUES (%s, %s, %s, %s); ",
row
)
conn.commit()
当我将Excel转换为csv并打印出来时,得到了以下结果:
foo1,foo2,zipcode,foo3
353453452,DATA,37,CITY
463464356,DATA,2364,CITY
在Excel文件中,邮政编码单元格被转换为文本格式以保留前导零,但是当我将Excel文件转换为CSV格式时,如何保留前导零?