Python读取带有13位ISBN号的csv转换为科学记数法

时间:2017-11-20 20:42:28

标签: python sql-server pandas csv

我有一个python程序,它给了我大约200个csv文件,每个文件有25个记录。我想将这200个文件合并到一个文件csv中并将其加载到SQL Server中。 (我假设这是加载的好方法)

我的最终目标是拥有一个包含200 csv所有数据的csv文件,并在SQL服务器上加载数据。

所有文件都有相同的列。其中一列包含ISBN-13书号。 当我通过以下代码合并文件时,ISBN-13号码被转换为科学记数法(9780981454221转换为9.78098145422e + 12),我丢失了信息。 (像最后一位数字一样) 有没有办法避免这种情况。这是我的代码和示例数据

import pandas as pd
import os
import csv
import glob

os.chdir("//network/My Folder/")
df=pd.DataFrame()
for files in glob.glob("*.csv"):
    print files 
    df = pd.concat([df,pd.read_csv(files)],axis=0)
df.to_csv("test.csv", sep=',', encoding='utf-8',index=False)

csv文件中的数据

Book    ISBN-13
Book_1  9780262527132
Book_2  9780071495844
Book_3  9780679734031
Book_4  9781621840862
Book_5  9781614271352

我是Python和DB的新手。任何建议,将不胜感激。 提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用dtype=str

for files in glob.glob("*.csv"):
    print files 
    df = pd.concat([df,pd.read_csv(files, dtype={'ISBN-13':str})],axis=0)