使用python导入和打印csv文件

2024-04-24 22:05:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个很大的csv文件,下面是其中的一些数据:

"C1_E1",,,,,
"Time","Force","Disp.","Stress","Strain","Stroke"
"sec","N","mm","MPa","%","mm"
"0","0.1192093","0","0.003017193","0","0"
"0.01","0.09536743","2.083333E-05","0.002413754","1.621271E-05","2.083333E-05"
"0.02","0.09536743","0.00025","0.002413754","0.0001945525","0.00025"
"0.03","0.09536743","0.0013125","0.002413754","0.001021401","0.0013125"
"0.04","0.09536743","0.003604167","0.002413754","0.002804799","0.003604167"
"0.05","0.09536743","0.006875","0.002413754","0.005350194","0.006875"
"0.06","0.09536743","0.01104167","0.002413754","0.008592736","0.01104167"
"0.07","0.09536743","0.01602083","0.002413754","0.01246757","0.01602083"
"0.08","0.09536743","0.02191667","0.002413754","0.01705577","0.02191667"
"0.09","0.09536743","0.028625","0.002413754","0.02227626","0.028625"
"0.1","0.09536743","0.035875","0.002413754","0.02791829","0.035875"
"0.11","3.910065","0.04352083","0.09896392","0.03386835","0.04352083"
"0.12","13.39118","0.05145833","0.3389313","0.0400454","0.05145833"
"0.13","18.46155","0.05989583","0.4672626","0.04661154","0.05989583"
"0.14","23.57165","0.06875","0.5965995","0.05350194","0.06875"

我尝试使用numpy和matplotlib绘制应力和应变列,因此我编写了以下代码:

^{pr2}$

问题是输出是

[ nan  nan  nan  nan  nan  nan  nan  nan  nan  nan] [ nan  nan  nan  nan  nan  nan  nan  nan  nan  nan]
[ nan  nan  nan  nan  nan  nan  nan  nan  nan  nan] [ nan  nan  nan  nan  nan  nan  nan  nan  nan  nan]

当然,没有阴谋。我确信genfromtxt中存在问题,因为如果我设置dtype=(“| S20”)则

[b'"0.003017193"' b'"0.002413754"' b'"0.002413754"' b'"0.002413754"'
 b'"0.002413754"' b'"0.002413754"' b'"0.002413754"' b'"0.002413754"'
 b'"0.002413754"' b'"0.002413754"'] [b'"0"' b'"1.621271E-05"' b'"0.0001945525"' b'"0.001021401"'
 b'"0.002804799"' b'"0.005350194"' b'"0.008592736"' b'"0.01246757"'
 b'"0.01705577"' b'"0.02227626"']

因为1.621271E-05是科学记数法,所以把情节搞得一团糟。有没有一种方法可以从csv文件中提取数据,并将其转换成一种可以处理科学符号的格式,这样我就可以绘制和分析它了?在

很抱歉我的帖子太长了,但我不知道该去哪里。在


Tags: 文件csv数据stroketime绘制科学nan
1条回答
网友
1楼 · 发布于 2024-04-24 22:05:29

当你想处理csv文件时,pandas库真的很有用。在

在这里,它使一切变得简单:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data_1.csv',header=1)

df =df[1:].astype(float)  # Deletes the first row as it contains the unit and is not usefull if you want to plot the data, and convert the dataframe type to float

要绘制力与时间的函数,只需执行以下操作:

^{pr2}$

相关问题 更多 >