我有一个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的新手。任何建议,将不胜感激。 提前谢谢!
答案 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)