如何解决连接到Excel时使用Pandas将CSV数据转换为数字
我正在编写一个小程序,以连接来自多个csv文件的测量负载。到一个Excel文件中。我几乎所有程序都已编写并可以正常工作,我唯一要做的就是从csv文件中获取数据,以便在数据帧将数据放入excel文件时自动将其转换为数字。 我的代码如下所示:
from pandas import DataFrame,read_csv
import matplotlib.pyplot as plt
import pandas as pd
import os
import csv
import glob
os.chdir(r"directoryname")
retval = os.getcwd()
print ("Directory changed to %s" % retval)
files = glob.glob(r"directoryname\datafiles*csv")
print(files)
files.sort(key=lambda x: os.path.getmtime(x))
writer = pd.ExcelWriter('test.xlsx')
df = pd.read_csv("datafile.csv",index_col=False)
df = df.iloc[0:41,1]
df.to_excel(writer,'sheetname',startrow =0,startcol=1,index=False)
for f in files:
i+=1
df = pd.read_csv(f,index_col=False)
df = df.iloc[0:41,2]
df.to_excel(writer,startrow=0,startcol=1+i,index=False)
预先感谢
解决方法
您的意思是:
df.loc[:,'measurements'] = df.loc[:,'measurements'].astype(float)
因此,当您读取数据框时,可以像这样强制转换所有列。
不同的解决方案是,在读取csv以使用dtypes强制转换列时(请参见Documentation)
示例
df = pd.read_csv(os.path.join(savepath,'test.csv'),sep=";",dtype={
ID' : 'Int64','STATUS' : 'object' },encoding = 'utf-8' )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。