读csv
使用pandas读取
1
2
3
4
5
6
7
8
9
|
import pandas as pd
import csv
if name = = '__main__' :
# header=0——表示csv文件的第一行默认为dataframe数据的行名称,
# index_col=0——表示使用第0列作为dataframe的行索引,
# squeeze=true——表示如果文件只包含一列,则返回一个序列。
file_dataframe = pd.read_csv( '../datasets/data_new_2/csv_file_name.csv' , header = 0 , index_col = 0 , squeeze = true)
# 结果:
|
# 当参数index_col=false 时,自动生成行索引0到n
# csv数据:
1
2
3
4
5
6
7
8
9
|
data_1 = []
# 读取行索引一样的数据,保存为list
try :
# 行索引为i的数据有多行,列为'pre_star'
data_1.extend(file_dataframe .loc[i][ 'pre_star' ].values.astype( float ))
except attributeerror:
# 行索引为i的数据只有单行,
data_1.extend([file_dataframe .loc[i][ 'pre_star' ]])
# 多行结果
|
# 行索引为i的数据只有一行时,不能对file_dataframe .loc[i]['pre_star']使用.values,否则会报错:
写csv
使用csv写
1
2
3
4
5
6
7
|
stu1 = [lid, k, pre_count_data[k]]
# 打开文件,写模式为追加'a'
out = open ( '../results/write_file.csv' , 'a' , newline = '')
# 设定写入模式
csv_write = csv.writer(out, dialect = 'excel' )
# 写入具体内容
csv_write.writerow(stu1)
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://segmentfault.com/a/1190000018671017