1.csv 读取每一行
import os
import csv
import matplotlib.pyplot as plt
import pandas as pd
def read_csv(csv_file):
'''
todo: get csv file context
'''
with open(csv_file, encoding='utf-8') as fp:
f_csv = csv.reader(fp, skipinitialspace=True)
# cut headers
headers = next(f_csv)
list_0 = []
for row in f_csv:
print(row[1])
list_0.append(round(float(row[1]), 2))
return list_0
def draw_curve(csv_list, csv_file):
'''
todo: draw hist
'''
plt.hist(csv_list, bins=None)
plt.title('title')
plt.show()
plt.savefig(os.path.join(os.path.dirname(csv_file), 'xxx.png'))
def main():
csv_file = r'/xx/xx.csv'
csv_list = read_csv(csv_file)
draw_curve(csv_list, csv_file)
if __name__ == '__main__':
main()
2.pandas读取某一列
import os
import matplotlib.pyplot as plt
import pandas as pd
def draw_hist(csv_file):
'''
todo: get csv file context and draw hist
'''
reviews = pd.read_csv(csv_file)
header = reviews.columns # get header
plt.hist(reviews[header[1]], bins=None)
plt.title('title')
plt.show()
plt.savefig(os.path.join(os.path.dirname(csv_file), 'xxx.png'))
def main():
csv_file = r'/xx/xx.csv'
draw_hist(csv_file)
if __name__ == '__main__':
main()
二者结果相同
reference