Py学习  »  Python

如何使用python从csv文件中的一行获取值

Bechara Rizk • 4 年前 • 358 次点击  

早上好, 作为一个学校项目,我必须做一个python脚本,它将从一个在线csv文件中导出数据,然后使用来自我的国家(黎巴嫩)的数据来制作关于COVID-19传播的线图和其他类型的图形。我已经解决了如何制作图形,但我在从csv文件中获取数据时遇到了问题。

这是我的代码:

from pandas import set_option, read_csv

inp_file=read_csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_co\
vid_19_time_series/time_series_covid19_confirmed_global.csv")
set_option("display.max_rows", 999)
out_file=inp_file.transpose()

write_to_out_file=open("/Users/bechara/Desktop/projects/python/data_corona2.csv", "w")
write_to_out_file.write(str(out_file[147]))
write_to_out_file.close()

df=read_csv("/Users/bechara/Desktop/projects/python/data_corona2.csv", error_bad_lines=False)
a=df.values
write_to_out_file2=open("/Users/bechara/Desktop/projects/python/data_corona3.csv", "w")
write_to_out_file2.write(str(a))
write_to_out_file2.close()

我从网上得到的文件是 here .

我期望的结果是得到的数字只有这样:

0
0
0
(67 other lines)
438
446
470

我遇到的问题是在data_corona2.csv中,我得到的是数字、日期和不需要的信息(纬度、经度等),在data_corona3.csv中,我也得到了一些不需要的信息。

有没有办法得到我期望的产量?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/57188
 
358 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Linas Fx
Reply   •   1 楼
Linas Fx    4 年前

导入到 pandas 数据帧

df=pd.read_csv(url,sep=',')

查找所需列

df.columns

df[['3/29/20', '3/30/20', '3/31/20']][df['Country/Region']=="Lebanon"]

使用 matplotlib

from matplotlib import pyplot as plt
plt.plot(df[['3/29/20', '3/30/20', '3/31/20']][df['Country/Region']=="Lebanon"].values.tolist()[0])
Raphaele Adjerad
Reply   •   2 楼
Raphaele Adjerad    4 年前

我建议如下

import pandas as pd
inp_file = pd.read_csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_co\
vid_19_time_series/time_series_covid19_confirmed_global.csv")
inp_file = inp_file.loc[inp_file['Country/Region']=="Lebanon",:]
inp_file = inp_file.drop(columns=["Lat","Long", "Province/State"])
out_file = pd.melt(inp_file, id_vars = ["Country/Region"])

out_file = out_file.value.values

以及 out_file 是你想要的价值观。 输出文件 在本例中是一个numpy数组。

to_csv

out_file = out_file.loc[,["value"]]
out_file.to_csv("myfile.csv", index=False)